一个数组套对象再数组套对象 然后在数组套对象怎么循环
时间: 2023-08-02 20:28:53 浏览: 60
你可以使用嵌套循环来遍历这个多维数组。首先,你需要使用一个循环遍历第一层的数组,然后在这个循环中再使用另一个循环来遍历第二层的数组。在第二层循环中,你可以使用对象的属性来访问数组中的元素。下面是一个示例代码:
```
let arr = [
[
{ name: 'John', age: 30 },
{ name: 'Mary', age: 25 }
],
[
{ name: 'Bob', age: 40 },
{ name: 'Alice', age: 35 }
]
];
for (let i = 0; i < arr.length; i++) {
for (let j = 0; j < arr[i].length; j++) {
console.log(arr[i][j].name, arr[i][j].age);
}
}
```
在这个例子中,我们有一个包含两个数组的数组,每个数组中包含两个包含姓名和年龄属性的对象。我们使用两个循环遍历这个数组,第一个循环遍历第一层数组,第二个循环遍历第二层数组,最终输出每个对象的姓名和年龄属性。
相关问题
vue 对象数组套对象数组,取出内层对象数组拼接在一起
可以使用`flatMap`方法来取出内层对象数组并拼接在一起。下面是一个示例代码:
```javascript
// 假设有一个对象数组
const arr = [
{ id: 1, items: [{ name: 'item1' }, { name: 'item2' }] },
{ id: 2, items: [{ name: 'item3' }, { name: 'item4' }] }
];
// 使用flatMap方法取出内层对象数组并拼接在一起
const innerArray = arr.flatMap(obj => obj.items);
console.log(innerArray);
// 输出:[{ name: 'item1' }, { name: 'item2' }, { name: 'item3' }, { name: 'item4' }]
```
在Vue中,你可以在模板中使用computed属性,或者在方法中使用该代码来获取拼接后的内层对象数组。
lodash 去重数组套对象的api
在lodash库中,你可以使用`uniqBy`函数来去重数组套对象的数据。该函数接受两个参数:要去重的数组和用于比较的属性。
以下是一个使用`uniqBy`函数来去重数组套对象的示例代码:
```javascript
const _ = require('lodash');
const arr = [
{ id: 1, name: 'John' },
{ id: 2, name: 'Jane' },
{ id: 1, name: 'John' },
{ id: 3, name: 'Mike' }
];
const uniqueArr = _.uniqBy(arr, 'id');
console.log(uniqueArr);
```
在上述示例中,我们使用`uniqBy`函数将数组`arr`中的对象按照`id`属性进行比较,并返回去重后的结果。
输出结果为:
```javascript
[
{ id: 1, name: 'John' },
{ id: 2, name: 'Jane' },
{ id: 3, name: 'Mike' }
]
```
注意,这里只保留了第一个出现的具有相同id属性的对象,后续重复的对象被去除了。
希望对你有所帮助!如果还有其他问题,请随时提问。