js - 数组扁平化
2021/4/7 18:39:44
本文主要是介绍js - 数组扁平化,对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!
迭代方式:
function myFlatten(arr){ if(!arr || !arr.length) return []; let newArr = [...arr]; let flattenArr = []; while(newArr.length){ let item = newArr.shift(); if(Array.isArray(item)){ newArr.unshift(...item); }else{ flattenArr.push(item); } } return flattenArr; } const arr = [1,2,3,[4,5],6,[7,[8, 9, 10]]]; myFlatten(arr); //[1, 2, 3, 4, 5, 6, 7, 8, 9, 10]
递归方式:
function myFlatten(arr){ return [].concat(Array.isArray(arr) ? myFlatten(arr) : arr) } const arr = [1,2,3,[4,5],6,[7,[8, 9, 10]]]; myFlatten(arr); //[1, 2, 3, 4, 5, 6, 7, 8, 9, 10]
正则方式:
function myFlatten(arr){ return JSON.parse('[' + JSON.stringify(arr).replace(/\[|\]/g, '') + ']') } const arr = [1,2,3,[4,5],6,[7,[8, 9, 10]]]; myFlatten(arr); //[1, 2, 3, 4, 5, 6, 7, 8, 9, 10]
自带API方式:
function myFlatten(arr){ return arr.flat(Infinity); } const arr = [1,2,3,[4,5],6,[7,[8, 9, 10]]]; myFlatten(arr); //[1, 2, 3, 4, 5, 6, 7, 8, 9, 10]
这篇关于js - 数组扁平化的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!
- 2024-11-24Vue CLI多环境配置学习:从入门到实践
- 2024-11-24Vue CLI多环境配置学习:新手入门教程
- 2024-11-24Vue CLI学习:初学者指南
- 2024-11-24Vue CLI学习:从入门到上手的简单教程
- 2024-11-24Vue3+Vite学习:从零开始的前端开发之旅
- 2024-11-24Vue3阿里系UI组件学习入门教程
- 2024-11-24Vue3的阿里系UI组件学习入门指南
- 2024-11-24Vue3公共组件学习:新手入门教程
- 2024-11-24Vue3公共组件学习入门指南
- 2024-11-24vue3核心功能响应式变量学习