var arr = [1,2,3,4,5,[1,2,6,8]]
=> [1,2,3,4,5,6,8]
var arr = [1,2,3,4,5,[1,2,6,8]] // js方法实现 var flatArr = arr.toString().split(",") //扁平 function unlink(arr) { //去重 return arr.filter(function (item, index, arr) { //当前元素,在原始数组中的第一个索引==当前索引值,否则返回当前元素 return arr.indexOf(item, 0) === index; }); } var filterArr = unlink(flatArr) function systemSort(arr) { //排序 return arr.sort(function(a, b) { return a - b }) } var sortArr = systemSort(filterArr) console.log('sortArr',sortArr) // es6方法1 function getFlatSort(arr) { return Array.from(new Set(arr.flat(Infinity))).sort((a, b) => { return a - b }) } //不排序 //newArr = Array.from( new Set(arr.flat(Infinity)) ) console.log(getFlatSort(arr)) //es6方法2 let array = arr.flat(Infinity) let arrALL = array.filter(function(item,index){ return array.indexOf(item)==index }) console.log(arrALL) //lodash.js实现 let lodaArry = _.uniq(_.flattenDeep(arr)) console.log(_.uniq([2, 1, 2]))
标签:function,index,arr,return,扁平化,javascript,var,多维,console From: https://www.cnblogs.com/zhixi/p/16874015.html