一、 扩展运算符,扩展运算符也就是三个点(...)。
我们之前也说过rest 参数也是用三个点表示。再来回顾下,rest 参数,用在函数的参数上,获取函数的多余参数,获取的值是一个数组 )。
扩展运算符、它好比 rest 参数的逆运算,将一个数组转化为用空格分隔的参数序列,它就好比Array的join方法。
举个例子:
var a=[1,2,3];
...a;
// 结果 1 2 3
var c = a.join(' ');
2、扩展运算符后面还可以放置表达式
console.log(...(a.lengt>3?a: [1,2,3]));
3、扩展运算符还可以将字符串转为真正的数组
[...'tom'] ['a','b','c']
使用技巧:
数组的合并 数组a 和 b 合并为一个数组?
1、concat()方法
2、for循环 一个一个push
3、函数的apply方法
var a = [0, 1, 2];
var b = [3, 4, 5];
a.push.apply(a,b);
4、Array原型的apply方法
Array.prototype.push.apply(arr1, arr2);
5、arr1.push(...arr2);
替代函数的 apply 方法
二、Array.from方法用于将两类对象转为真正的数组
1、类似数组的对象 arguments arguments可以获取函数参数,他是一个类数组对象。
Array.from(arguments) 返回一个数组
2、可遍历(iterable)的对象 如Set 和 Map 也可以转换为数组
let namesSet = new Set(['1', '2'])
Array.from(namesSet) ['1', '2']
Array.from还可以接受第二个参数,作用类似于数组的map方法,用来对每个元素进行处理,将处理后的值放入返回的数组
Array.from([1, 2, 3], (x) => x * x) // [1, 4, 9]
三、Array.of方法用于将一组值,转换为数组。
Array.of(3, 11, 8) // [3,11,8] 可以把参数拼接成一个数组
===========================================
https://blog.csdn.net/zhangkang65/article/details/89060744
用户评论