1、Array.prototype.slice()
从开始到结尾(不含结尾)浅拷贝数组,浅拷贝,即不改变原数组
语法:
arr.slice();
arr.slice(start);
arr.slice(start,end);
返回值
一个新数组
转换伪数组(pseudo array)对象为数组
slice()
方法可以将类数组对象转换成真数组,只需要将类数组作为参数传入,即:
Array.prototype.slice.call(arguments);
[].prototype.slice.call(arguments);
Array.from(arguments);
[...arguments]; //spread运算符?
let args = (argumetns.length == 1?[arguments[0]]:Array.apply(null,arguments));
还未完。。。
2、Array.from()
语法: Array.from(arrayLike[,mapFun])
具体场景: Array.from(string)
Array.from(arguments)
Array.from(set)
Array.from(map)
用法::将一个伪数组或可迭代元素的对象转成一个数组
用法描述: 可以将下列两类元素转成一个新数组
- 类数组对象(带length属性,可以索引的)
- 可遍历对象(从他身上可以迭代若干属性,如:set map)
3、Array.isArray()
语法: Array.isArray(obj)
用法: 判断一个对象是否数组
==上述两个方法和原型上的方法还是不一样的,它是直接通过Array
调用的;而原型上的方法是直接对象调用的obj.sort()
==