首页与我联系

「短文」在 JavaScript 字符串里获取字符

By 前端达人
Published in 1-JavaScript
September 02, 2022
1 min read
「短文」在 JavaScript 字符串里获取字符

要在 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() function

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 个字符。

前端达人公众号.jpg

注:本文属于原创文章,版权属于「前端达人」公众号及 qianduandaren.com 所有,未经授权,谢绝一切形式的转载


Tags

javascriptbasic
Previous Article
「短文」关于 replaceAll() 方法的使用总结
前端达人

前端达人

专注前端知识分享

相关文章

「短文」如何在 JavaScript 中随机数组
November 03, 2022
1 min

前端站点

VUE官网React官网TypeScript官网

公众号:前端达人

前端达人公众号