「短文」如何在 JavaScript 中随机数组
November 03, 2022
1 min
要在 JavaScript 中从字符串中获取字符,我们建议使用方括号 []。 string[1] 返回一个长度为 1 的字符串,其中包含数组中的第二个字符。如果您访问的索引小于 0 或大于字符串的长度,您将返回 undefined。
const string = 'Hello'; const letter = string[1]; // 'e' string[1]; // 'e' string[20]; // undefined string[-1]; // undefined string['not a number']; // undefined
请记住,string[1] 返回长度为 1 的字符串。JavaScript 中没有像 Java 或 C++ 中那样不同的字符类型。
typeof string[1]; // 'string'
charAt() 函数还返回字符串给定索引处的字符。存在三个关键点我们需要注意。
1、如果您在小于 0 或大于字符串长度的索引上调用 charAt(),则 charAt() 将返回一个空字符串。
const string = 'Hello'; string.charAt(1);// 'e' string.charAt(42);// '' string.charAt(-1);// ''
2、其次,如果您使用 JavaScript 无法转换将参数转为数字的,则 charAt() 将返回索引 0 处的字符。
string;// 'Hello' string.charAt('not a number');// 'H'
3、charAt() 可以将值隐式转换为数字。例如,如果您将带有 valueOf() 函数的对象传递给 charAt(),JavaScript 将调用 valueOf() 以尝试将值转换为数字。这可能会导致意外行为,例如能够在 Date 上调用 charAt()。
string; // 'Hello' string.charAt({ valueOf: () => 1 }); // 'e' string.charAt(new Date(1)); // 'e' string[{ valueOf: () => 1 }]; // undefined string[new Date(1)]; // undefined
由于 charAt(i) 的潜在意外行为,我们通常建议使用 charAt(i) 来获取字符串中的第 i 个字符。
注:本文属于原创文章,版权属于「前端达人」公众号及 qianduandaren.com 所有,未经授权,谢绝一切形式的转载