1.slice
最经典的方法,使用Array的slice方法,此方法如果不传参数的话会返回原数组的一个拷贝,因此可以用此方法转换类数组到数组;
var arr = Array.prototype.slice.call(arguments);
//等同于
var arr = [].slice.call(arguments)
var arr = [].slice.call(arguments)
2.Array.from()
是ES6中的方法,用于将类数组转换为数组。
var arr = Array.from(arguments);
只要有length属性的对象,都可以应用此方法转换成数组。
3.扩展运算符
ES6中的扩展运算符…也能将某些数据结构转换成数组,这种数据结构必须有遍历器接口。
var args = [...arguments];
4.$.makeArray()
jQuery的此方法可以将类数组对象转化为真正的数组
var arr = $.makeArray(arguments);
两种数组去重的方法
1.第一种
//indexof返回数组中对应的第一个元素的索引。
function unique(array){
return array.filter((item,index,arr)=>{
return arr.indexOf(item)==index;
});
}
2.第二种
//es6新对象Set及array.from新属性
function unique(array){
return Array.from(new Set(array ));
}