js 递归将数组里面的对象全部扁平化
时间: 2023-10-09 18:06:57 浏览: 101
好的,这是一个常见的递归问题,可以使用以下代码将嵌套的数组里面的对象全部扁平化:
```javascript
function flatten(arr) {
var result = [];
for (var i = 0, len = arr.length; i < len; i++) {
if (Array.isArray(arr[i])) {
result = result.concat(flatten(arr[i]));
} else {
result.push(arr[i]);
}
}
return result;
}
function flattenObjects(arr) {
var result = [];
for (var i = 0, len = arr.length; i < len; i++) {
if (typeof arr[i] === 'object' && !Array.isArray(arr[i])) {
result = result.concat(flattenObjects(Object.values(arr[i])));
} else if (Array.isArray(arr[i])) {
result = result.concat(flattenObjects(arr[i]));
} else {
result.push(arr[i]);
}
}
return result;
}
```
其中 `flatten` 函数用于将嵌套的数组扁平化,`flattenObjects` 函数用于将嵌套的对象里面的数组扁平化。这两个函数可以结合使用来实现将嵌套的数组里面的对象全部扁平化的功能。
阅读全文