常用数组方法、字符串方法、数组 ↔ 字符串 的转换、TS类型提示 (大全)
一、数组常用方法
1. 遍历和查找
方法 | 功能 |
---|---|
forEach() | 遍历数组,每个元素执行一次函数(无返回值) |
map() | 遍历数组并返回新数组 |
filter() | 返回符合条件的新数组 |
find() | 返回第一个符合条件的元素 |
some() | 有任意一个满足条件返回true |
every() | 所有都满足条件才返回true |
reduce() | 累加器,适合做累计、合并操作 |
2、修改原数组
方法 | 功能 |
---|---|
push() | 尾部添加元素,返回新长度 |
pop() | 删除尾部元素,返回删除的元素 |
shift() | 删除头部元素 |
unshift() | 头部添加元素 |
splice() | 插入、删除、替换元素 |
reverse() | 反转数组顺序 |
sort() | 排序(可自定义规则) |
3、不改变原数组(返回新数组)
方法 | 功能 |
---|---|
slice() | 截取数组的一部分 |
concat() | 合并两个数组 |
join() | 数组转字符串(通过指定分隔缝) |
二、字符串常用方法
1、查找与判断
方法 | 功能 |
---|---|
charAt(index) | 返回指定位置字符 |
indexOf(sub) | 返回子串首次出现位置 |
includes(sub) | 判断是否包含子串 |
startWith()/endsWith() | 是否以某字符开头/结尾 |
2、提取子串
方法 | 功能 |
---|---|
slice(start,end?) | 提取部分字符串 |
substring(start,end) | 类似slice,但不支持负数 |
substr(start,length) | 从指定位置提取固定长度(不推荐) |
3、修改
方法 | 功能 |
---|---|
replace() | 替换内容 |
toLowerCse()/toUpperCase() | 大小写转换 |
trim()/trimStart()/trimEnd() | 去除空格 |
4、转换
方法 | 功能 |
---|---|
split() | 字符串转数组(通过指定分隔符) |
repeat() | 重复字符串 |
三、数组↔字符串的转换
1、数组转字符串
const arr = ['apple', 'banana', 'cherry'];
const str = arr.join(', ');
// "apple, banana, cherry"
join()
默认用逗号 ,
,可传入任意分隔符
2、字符串转数组
const str = "apple,banana,cherry";
const arr = str.split(',');
// ['apple', 'banana', 'cherry']
split()
根据指定分隔符拆分字符串
3、特殊转换示例:字符串每个字符为元素
const s = "hello";
const arr1 = s.split(""); // ['h','e','l','l','o']
const arr2 = Array.from(s); // ['h','e','l','l','o']
const arr3 = [...s]; // ['h','e','l','l','o']
四、类型提示(TS)
TS能对这些方法提供良好类型推导,比如:
const numbers: number[] = [1, 2, 3];
const doubled = numbers.map(n => n * 2); // 推导为 number[]const str = "abc";
const chars = str.split(""); // 推导为 string[]
五、组合使用示例
eg:将字符串反转
const str = "hello";
const reversed = str.split('').reverse().join('');
console.log(reversed); // "olleh"