一、递归
let arr = [1, [2, 3, 4, 5], [6, 7, 8, 9, [10, 11, 12, [14, 15, 16]]]]
let newArr = []
function getArr(array) {
array.forEach((item) => {
!Array.isArray(item) ? newArr.push(item) : getArr(item)
})
}
getArr(arr)
console.log(newArr)
二、将多维数组转为字符串,再转化为一维数组
let arr = [1, [2, 3, 4, 5], [6, 7, 8, 9, [10, 11, 12, [14, 15, 16]]]]
console.log(arr.join(',').split(','));//这样转换后数组里的数字会变成字符串
//['1', '2', '3', '4', '5', '6', '7', '8', '9', '10', '11', '12', '14', '15', '16']
三、Array.prototype.flat()
let arr = [1, [2, 3, 4, 5], [6, 7, 8, 9, [10, 11, 12, [14, 15, 16]]]]
console.log(arr.flat(Infinity));