陣列扁平化
//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