JS数组扁平化(flat)方法总结详解
2019-06-24 10:19
274 查看
需求:多维数组=>一维数组
let ary = [1, [2, [3, [4, 5]]], 6]; let str = JSON.stringify(ary);
第0种处理:直接的调用
arr_flat = arr.flat(Infinity);
第一种处理
ary = str.replace(/(\[\]))/g, '').split(',');
第二种处理
str = str.replace(/(\[\]))/g, ''); str = '[' + str + ']'; ary = JSON.parse(str);
第三种处理:递归处理
let result = []; let fn = function(ary) { for(let i = 0; i < ary.length; i++) }{ let item = ary[i]; if (Array.isArray(ary[i])){ fn(item); } else { result.push(item); } } }
第四种处理:用 reduce 实现数组的 flat 方法
function flatten(ary) { return ary.reduce((pre, cur) => { return pre.concat(Array.isArray(cur) ? flatten(cur) : cur); }) } let ary = [1, 2, [3, 4], [5, [6, 7]]] console.log(ary.MyFlat(Infinity))
第五种处理:扩展运算符
while (ary.some(Array.isArray)) { ary = [].concat(...ary); }
这是一个比较实用而且很容易被问到的问题,欢迎大家交流补充。
以上就是本文的全部内容,希望对大家的学习有所帮助
您可能感兴趣的文章:
相关文章推荐
- js/jquery解析json和数组格式的方法详解
- js数组去重的三种常用方法总结
- js数组去重的三种常用方法总结
- js常用方法总结-数组篇
- JS中的数组去重方法总结
- js中数组Array常用方法总结
- js中数组Array的一些常用方法总结
- js/jquery解析json和数组格式的方法详解
- JS中数组方法小总结
- js数组与字符串常用方法总结
- js数组去重的三种常用方法总结
- js数组基本方法总结
- js与jquery常用数组方法总结
- 总结几个jsvaScript 数组排序方法
- JS 判断某变量是否为某数组中的一个值的3种方法(总结)
- js数组去重的三种常用方法总结
- js数组去重的三种常用方法总结
- js数组去重的常用方法总结
- js数组去重的三种常用方法总结
- js 数组方法总结归类