1, JS 数组去重的方法
- // 第一种
- function unique(ary){
- var obj={
- };
- for(var i=0;i<ary.length;i++){
- var cur = ary[i];
- if(obj[cur] == cur){
- ary[i] = ary[ary.length-1];
- ary.length--;
- i--;
- }
- obj[cur] = cur;
- }
- return ary;
- }
- console.log(unique([2,3,2,4,3,5,6,1,1]));
- // 第二种
- function unique(ary){
- var arr1 = [];
- var obj = {
- };
- for(var i=0;i<ary.length;i++){
- if(!obj[ary[i]]){
- arr1.push(ary[i]);
- obj[ary[i]] = 1;
- }
- }
- return arr1;
- };
- var arr = [3,1,1,2,2,3,3,4,4];
- console.log(unique(arr));
2,JS 类数组 (arguments,dom 元素集合) 转化为数组
- let arrayLike = {
- '0' : 'a',
- '1' : 'b',
- '2' : 'c',
- length : 3
- };
- 1,Array.prototype.slice.call()
利用数组 slice 的方法实现
- let arr1 = Array.prototype.slice.call(arrayLike);
- 2,[].slice.call();
- let arr2 = [].slice.call(arrayLike);
- 3,Array.from()
ES6 新增的转换数组的方法
let arr3 = Array.from(arrayLike);
4, 扩展运算符(...)
ES6 中新增的方法, 扩展运算符 (...) 也可以将某些数据结构转为数组
let arr4 = [...arrayLike]
来源: http://www.bubuko.com/infodetail-2896383.html