二维数组变一维
1、用apply的特性,将数组作为参数展开,concat接受单个值作为参数,所 以不需要识别。
let data=[[1,2,3],[4,5,6]];
res=[].concat.apply([],data);
console.log(res) // 输出为: [1, 2, 3, 4, 5, 6]
2、利用es6新增的扩展运算符将数组展开
let data=[[1,2,3],[4,5,6]];
res=[].concat(...data);
console.log(res) // 输出为: [1, 2, 3, 4, 5, 6]
多维数组变一维
1、其原理是先把多维数组转字符串,再把字符串转为一维数组
let arr = [1, 2, 3, 4, 5, [6, 7, 8, [9, 10, 11, 12, [13, 14, 15, 16]]]]
console.log(arr.join()) // 输出为:1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16
let newArr = arr.join().split(',')
console.log(newArr) // 输出为:["1", "2", "3", "4", "5", "6", "7", "8", "9", "10", "11", "12", "13", "14", "15", "16"]