JS类数转换成数组的方法,两种数组去重的方法

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 ));
}

猜你喜欢

转载自blog.csdn.net/wang_liuyong/article/details/81623491