陣列扁平和去重

看風景就發表於2017-12-30
陣列扁平化
//ES5寫法
function flatten(arr){
    return arr.reduce(funcion(pre,cur,index){
        return pre.concat(Array.isArray(cur) ? flatten(cur) : cur);
    },[]);
}
//ES6寫法
function faltten(arr){
    //...arr可以扁平化一層陣列,如果有陣列中內嵌陣列,則需要迴圈進行扁平
    while(arr.some(item => Array.isArray(item)){
        arr = [].concat(...arr);
    }
    return arr;
}
陣列去重
//ES5寫法
function unique(arr){
    return arr.filter(function(item,index,arr){
        return arr.indexOf(item) >= index;
    });
}
//ES6寫法
function unique(arr){
    return [...new Set(arr)];
}

 

 

參考:https://juejin.im/post/59716f15f265da6c4c500fc7

相關文章