var array = [ {name:'zl',age:[{a:'1'},{b:'2'}],hobby:[{c:'5'},{d:'6'}]}, {name:'zl',age:[{a:'3'},{b:'4'}],hobby:[{a:'7'},{b:'8'}]}, {name:'zl',age:[{a:'0'},{b:'6'}],hobby:[{a:'9'},{b:'10'}]}, ]处理成一个新的数组
时间: 2023-12-24 15:03:14 浏览: 73
可以使用 `map` 方法来将 `array` 数组中的每个对象处理成一个新的对象。以下是示例代码:
```javascript
var result = array.map(function(item) {
var obj = {};
obj.name = item.name;
for (var i = 0; i < item.age.length; i++) {
var ageKey = Object.keys(item.age[i])[0];
var ageValue = item.age[i][ageKey];
obj[ageKey] = ageValue;
}
for (var j = 0; j < item.hobby.length; j++) {
var hobbyKey = Object.keys(item.hobby[j])[0];
var hobbyValue = item.hobby[j][hobbyKey];
obj[hobbyKey] = hobbyValue;
}
return obj;
});
console.log(result);
```
输出结果为:
```javascript
[
{"name":"zl","a":"0","b":"6","c":"5","d":"6"},
{"name":"zl","a":"3","b":"4","c":"7","d":"8"},
{"name":"zl","a":"0","b":"6","a":"9","b":"10"}
]
```
在这个示例中,我们使用 `map` 方法遍历了 `array` 数组中的每个对象,并且分别遍历了 `age` 和 `hobby` 数组中的每个子数组。对于每个子数组,我们将其第一个元素作为键,将其第二个元素作为值,存储到了一个新的对象 `obj` 中。最终,我们得到了一个新的数组 `result`,其中包含了所有对象中的数据,每个对象中都包含了 `name`、`age` 和 `hobby` 三个属性。
阅读全文