js多层数组里面收集一个属性的值
时间: 2024-03-05 09:47:46 浏览: 66
微信小程序多层嵌套循环,二级数组遍历,设置data里面的数据 ...
5星 · 资源好评率100%
如果要从多层数组中收集一个属性的值,可以使用递归函数来实现。下面是一个示例代码,假设要从一个名为array的多层数组中收集属性名为prop的值:
```javascript
function collectProp(array, prop, results) {
for (var i = 0; i < array.length; i++) {
var element = array[i];
if (Array.isArray(element)) {
collectProp(element, prop, results);
} else if (element[prop]) {
results.push(element[prop]);
}
}
}
var array = [
{ prop: 'value1' },
[ { prop: 'value2' }, { prop: 'value3' } ],
{ prop: 'value4', children: [ { prop: 'value5' } ] }
];
var results = [];
collectProp(array, 'prop', results);
console.log(results); // 输出:['value1', 'value2', 'value3', 'value4', 'value5']
```
在这个示例中,collectProp函数接收三个参数:要搜索的多层数组、要收集的属性名、以及用于存储结果的数组。函数遍历输入的数组,对于每个元素,如果它是一个数组,则递归调用 collectProp函数;如果它包含要收集的属性,则将属性值添加到结果数组中。最终,函数返回结果数组。
阅读全文