如何String.StartsWith在JavaScript中编写等效于C#的代码?
String.StartsWith
var haystack = 'hello world'; var needle = 'he'; haystack.startsWith(needle) == true
注意:这是一个古老的问题,正如评论中指出的ECMAScript2015(ES6)引入了该.startsWith方法。但是,在撰写此更新(2015)时,浏览器支持还远远没有完成。
.startsWith
你可以使用ECMAScript 6的String.prototype.startsWith()方法,但并非所有浏览器都支持该方法。你可能需要使用填充程序/填充来将其添加到不支持它的浏览器中。创建一个符合规范中所有细节的实现有点复杂。如果你想要忠实的垫片,请使用以下任一方法:
ECMAScript 6的String.prototype.startsWith()
Matthias Bynens
String.prototype.startsWith
es6-shim
"Hello World!".startsWith("He"); // true var haystack = "Hello world"; var prefix = 'orl'; haystack.startsWith(prefix); // false
另一种选择是.lastIndexOf:
.lastIndexOf
haystack.lastIndexOf(needle, 0) === 0
这看起来向后通过haystack为的发生needle,从指数开始0的haystack。换句话说,它仅检查是否haystack以开头needle。
haystack
needle
0
原则上,与其他方法相比,这应该具有性能优势: