伪数组(arguments及字符串)转数组的方法 贼简单
超简单的伪数组转数组的方法, 简单到令人发指! (这里伪数组使用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];
该运算符还能在数组的复制场景下使用
// bad const len = items.length; const itemsCopy = []; let i; for (i = 0; i < len; i += 1) { itemsCopy[i] = items[i]; } // good const itemsCopy = [...items];
(完)