数组的扁平化处理
解法一:使用递归的方式进行数组的扁平化处理
let arr = [1, 1, 2, 3, 4, 5, 6, [1, 2, 3, 4, 5, 6, [1233, [10, [10]]]]];
const arrayDeepFlattenCallBack = arr => {
if (!Array.isArray(arr)) "接收数组!";
return [].concat(...arr.map(v => Array.isArray(v) ? arrayDeepFlattenCallBack(v) : v));
}
arrayDeepFlattenCallBack();
// [ 1, 1, 2, 3, 4, 5, 6, 1, 2, 3, 4, 5, 6, 1233, 10, 10 ] 解法二:使用toString的方式进行扁平化的处理
let arr = [1, 1, 2, 3, 4, 5, 6, [1, 2, 3, 4, 5, 6, [1233, [10, [10]]]]];
const arrayDeepFlattenToString = arr => {
return arr.toString().split(',').map(v => (v - 0));
}
arrayDeepFlattenToString(arr);
// [ 1, 1, 2, 3, 4, 5, 6, 1, 2, 3, 4, 5, 6, 1233, 10, 10 ] 解法三:通过使用Array.reduce方法进行数组的扁平化处理
Last updated