JS配列の平準化を実現する方法


一、缘由
ギthubで問題を見ましたが、「行列を平準化して重複データを除去し、最終的には昇順で重複しない配列を得る」というのは次の通りです.
      :
var arr = [ [1, 2, 2], [3, 4, 5, 5], [6, 7, 8, 9, [11, 12, [12, 13, [14] ] ] ], 10];
                       ,               
二、方法
問題を見る第一の考えは再帰である.要素が配列かどうかを判断するたびに、配列であれば再帰関数を呼び出します.実現は複雑ではない:
function recursive(data, result) {
  if (Object.prototype.toString.call(data) === '[object Array]') {
    data.forEach(item => {
      recursive(item, result)
    })
  } else {
    result.push(data)
  }
}

function serialArray(array) {
  let result = []
  array.forEach(item => {
    recursive(item, result)
  })
  return Array.from(new Set(result)).sort((a, b) => a - b)
}

let arr = [ [1, 2, 2], [3, 4, 5, 5], [6, 7, 8, 9, [11, 12, [12, 13, [14] ] ] ], 10]
console.log(serialArray(arr)) // [ 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14 ]
でも、オーディエンス一行のコードが終わったのを見て、黙々と汗を流しています.やはり配列の原型の方法に慣れていないです.こんなにいいものがありますか?
Array.from(new Set(arr.flat(Infinity))).sort((a,b) => a-b)