赞
踩
在面试中我们常常会被问到如何用原生js实现拍平多维数组
- let array = [1, [2], [3, [4, [5]]]]
- function flat(arr) {
- //在此处实现代码
- }
- console.log(flat(array)) //[1, 2, 3, 4, 5]
- let array = [1, [2], [3, [4, [5]]]]
- function flat() {
- var flatArr = []
- return function flatten(arr) {
- for (let index = 0; index < arr.length; index++) {
- Array.isArray(arr[index])
- ? flatten(arr[index])
- : flatArr.push(arr[index])
- }
- return flatArr
- }
- }
- console.log(flat()(array))
- let array = [1, [2], [3, [4, [5]]]]
- function flat(arr) {
- return arr.toString().split(',').map(val => +val)
- }
- console.log(flat(array))
- let array = [1, [2], [3, [4, [5]]]]
- function flat(arr) {
- return arr.reduce((pre, value) => {
- return Array.isArray(value) ? [...pre, ...flat(value)] : [...pre, value]
- }, [])
- }
- console.log(flat(array))
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。