var arr = [
  [1, 2, 2],
  [3, 4, 6, 7, 8, ],
  [6, 5, 5, 9, [11, 12, [12, 13, [14]]]], 10
];

function machining(arr) {
  let newArr = []
  let newArr_1 = [];
  //扁平化
  function toFlat(arr) {
    arr.forEach(a => typeof a == 'object' ? toFlat(a) : newArr.push(a));
  }
  toFlat(arr)
  //去重
  newArr = newArr.filter((n, i) => newArr.indexOf(n) == i);
  //从小到大
  newArr.forEach(n => !newArr_1.some((n1, i) => n1 > n && newArr_1.splice(i, 0, n)) && newArr_1.push(n))
  //newArr_1 = newArr.sort((a, b) => a - b) 或直接用方法
  return newArr_1
}
console.log(machining(arr))

  

 posted on 2019-05-08 15:31  落逸  阅读(57)  评论(0编辑  收藏  举报