用js写数组扁平化,用多种方法写出
时间: 2023-06-02 10:03:54 浏览: 92
好的,以下是几种方法来实现JavaScript数组扁平化:
方法一:使用递归实现数组扁平化
```
function flatten(arr) {
var result = [];
for (var i = 0, length = arr.length; i < length; i++) {
var value = arr[i];
if (Array.isArray(value)) {
value = flatten(value);
for (var j = 0, len = value.length; j < len; j++) {
result.push(value[j]);
}
} else {
result.push(value);
}
}
return result;
}
```
方法二:使用reduce方法实现数组扁平化
```
function flatten(arr) {
return arr.reduce(function(prev, next) {
return prev.concat(Array.isArray(next) ? flatten(next) : next);
}, []);
}
```
方法三:使用ES6的展开运算符实现数组扁平化
```
function flatten(arr) {
while (arr.some(item => Array.isArray(item))) {
arr = [].concat(...arr);
}
return arr;
}
```
以上三种方法都可以实现JavaScript数组扁平化,根据具体使用场景可以选择适合的方法。
阅读全文