map和forEach的区别
- map的速度大于forEach;
- map会返回一个新的数组,不会改变原来的数组;forEach不会返回新数组,允许对原数组进行修改;
- 都有参数:item、index、arr
- 内部匿名函数的this指向都是window;
字符串转换为字符数组
- split()方法
const text = "abc";
const chars = text.split('');
console.log(chars);
//['a', 'b', 'c']
- 展开运算符
展开运算符 ( …) 允许在需要多个元素(如数组文字)的地方扩展诸如字符串之类的可迭代对象。
这是将字符串扩展为字符数组的示例。正确处理采用两个代码单元的字符。
const text = "abc????";
const chars = [ ...text ];
console.log(chars);
//["a", "b", "c", "????"]
- 解构赋值
解构赋值语法可以将数组或可迭代对象中的值解包为不同的变量。
在解构数组或可迭代对象时,我们可以使用 rest 模式将其剩余部分提取到单个变量中。
const text = "abc????";
const [ ...chars ] = text;
console.log(chars);
//["a", "b", "c", "????"]
- Array.from
Array.from辅助创建从阵列状或迭代的对象的新数组。字符串既可迭代又类似于数组,因此,可以成功地将其转换为字符数组。
const text = "abc????";
const chars = Array.from(text);
console.log(chars);
//["a", "b", "c", "????"]