超简单的伪数组转数组的方法, 简单到令人发指! (这里伪数组使用arguments)
1.使用 Array.prototype.slice
Array.prototype.slice.call(arguments)
slice()
方法返回一个新的数组对象,这一对象是一个由 begin
和 end
(不包括end
)决定的原数组的浅拷贝。原始数组不会被改变。
虽然是浅拷贝, 但是对于arguments的转数组足够了, 因为啥呢?就是因为arguments这个东西一般不会动它。
2. 使用Array.from() 函数
Array.from()
该函数是Array的一个方法,官方描述就是伪数组转数组的方法;
Array.from(arrayLike[,mapFn[, thisArg]);
使用场景
1: arguments转数组; Array.from(arguments); 2: 字符串转数组 var str = '123abc'; var arr = Array.from(str); 3: 其他场景 第二个参数是map函数, 可以对每个item进行加工后返回。3. 使用 ... 运算符
var arr = [...arguments];
该运算符还能在数组的复制场景下使用
// badconst len = items.length;const itemsCopy = [];let i;for (i = 0; i < len; i += 1) { itemsCopy[i] = items[i];}// goodconst itemsCopy = [...items];
(完)