实现把多维数组转为一维数组的几种方式
在开发过程中遇到一个比较ip大小的情况,并且遇到了把二维数组转为一维数组的情况,翻下资料,做下总结。 方法一:转字符串法 该例子中,tempArr是一个多维数组,使用join将其转为字符串,在使用split方法转换为一维数组。 缺点: 如果数组中的各个项是number,将不可避免的转为字符串。 /** * 使用转字符串法 */ let tempArr = [1,[2,3],[4,5,[6,7]]]; let result_str1 = tempArr.join(',').split(','); console.log(result_str1); // ["1", "2", "3", "4", "5", "6", "7"] 改进: 使用了map进行再次遍历。 这种情况只适用于数组中各个项都是number类型或string类型的情况 // 可以使用循环改进 function unid(arr){ let result_str1 = arr.join(',').split(','); let result_number = result_str1.map(item=>{ return Number(item); }); return result_number; } console.log(unid(tempArr)); // [1, 2, 3, 4, 5, 6, 7] 方法二