我有一个字符串,需要获取它的第一个字符。
var x = 'somestring';
alert(x[0]); //in ie7 returns undefined
我该如何修复我的代码?
我有一个字符串,需要获取它的第一个字符。
var x = 'somestring';
alert(x[0]); //in ie7 returns undefined
我该如何修复我的代码?
charAt
可能会对 Unicode 字符给出错误的结果。使用 Array.from
替代:
Array.from('some string')[0];
x.charAt()
方法,它也会返回第一个字符,即默认将索引设为0。请注意,这不会改变原始字符串本身。 - Mohammad Usman"".charAt(0)
返回 "\ud83d"
,"café".charAt(3)
返回 e
并丢掉了重音符号等。 https://dev59.com/Q1oT5IYBdhLWcg3wngu1 提供了一些信息以及一个很好的替代方案(使用库)。 - Clémentx[0]
дёҺ x.charAt(0)
зҡ„ж•ҲжһңдёҖж ·пјҢйҷӨйқһдҪ е…іеҝғ IE 7гҖӮ - Clément在 JavaScript 中,您可以这样做:
const x = 'some string';
console.log(x.substring(0, 1));
x.slice(0,1)
是更短的代码。要获取最后一个字符,只需使用 x.slice(-1)
。 - S.Serpooshan''.substring(0, 1)
并没有产生预期的空字符串,但是解构可以。 - Jared Smithvar string = "hello world";
console.log(string.slice(0,1)); //o/p:- h
console.log(string.charAt(0)); //o/p:- h
console.log(string.substring(0,1)); //o/p:- h
console.log(string.substr(0,1)); //o/p:- h
console.log(string[0]); //o/p:- h
console.log(string.at(0)); //o/p:- h
var string = "";
console.log(string.slice(0,1)); //o/p:- (an empty string)
console.log(string.charAt(0)); //o/p:- (an empty string)
console.log(string.substring(0,1)); //o/p:- (an empty string)
console.log(string.substr(0,1)); //o/p:- (an empty string)
console.log(string[0]); //o/p:- undefined
console.log(string.at(0)); //o/p:- undefined
all() 方法的示例
首先: string.charAt(index)
返回 index 索引处的字符。
var str = "Stack overflow";
console.log(str.charAt(0));
第二步: string.substring(start,length);
返回字符串中从索引
start
开始并在长度length
之后停止的子字符串。
在这里,您只想要第一个字符,因此:start=0
且length=1
var str = "Stack overflow";
console.log(str.substring(0,1));
替代方法: string[index]
字符串是字符数组。因此,您可以像获取数组的第一个单元格一样获取第一个字符。
返回字符串中索引
index
处的字符
var str = "Stack overflow";
console.log(str[0]);
const x = 'some string';
console.log(x.substring(0, 1));
var x = "somestring"
alert(x.charAt(0));
charAt()方法允许您指定所需字符的位置。
您试图做的是获取数组"x"在某个位置上的字符,但由于X未定义为数组,因此这样是行不通的。
你甚至可以使用slice
来截取所有其他字符:
x.slice(0, 1);
var str="stack overflow";
firstChar = str.charAt(0);
secondChar = str.charAt(1);
已测试过在IE6+,FF,Chrome和safari浏览器中。
indexOf
在IE8中不能正常工作,这对我很重要。我实际上开始搜索charAt
的兼容性,直到我看到这个答案深处的位置。 - gloomy.penguin您也可以尝试这个:
x.substr(0, 1);
看起来我来晚了,但尝试下面的解决方案,我个人认为是最好的解决方案:
var x = "testing sub string"
alert(x[0]);
alert(x[1]);