将多维数组的元素全部取出,组成一维数组的方法
现在有一个多维数组[1,[2,[3,[4,[5]]]]],我们需要让它变成[1,2,3,4,5]。
我总结了两种方法。
一:用toString或者join方法。用map方法将所有数组的字符串元素转成数值。
var arr = [1, [2, [3, [4, [5]]]]]; console.log(arr.join().split(',').map(function (list) { return parseFloat(list) })); //[1,2,3,4,5];
或者
var arr = [1, [2, [3, [4, [5]]]]]; console.log(arr.toString().split(',').map(function (list) { return parseFloat(list) }));
二:使用递归的方法
var arr = [1, [2, [3, [4, [5]]]]]; var temp = []; function takeAll(arr) { if (arr.length >= 1) { if (typeof(arr[0]) == 'number') { temp.push(arr.shift()); takeAll(arr); } else { takeAll(arr[0]); } } else { return; } } takeAll(arr); console.log(temp); //[1,2,3,4,5];