var arr = [{name: 'wang', age:'1'}, {name:'zhang', age:'2'}], 要求得到obj = {wang: '1', zhang: '2'}
时间: 2023-12-24 14:05:57 浏览: 43
你可以使用数组的reduce方法来实现这个要求。下面是一个示例代码:
```javascript
var arr = [{name: 'wang', age:'1'}, {name:'zhang', age:'2'}];
var obj = arr.reduce(function(result, item) {
result[item.name] = item.age;
return result;
}, {});
console.log(obj);
```
运行以上代码,你将得到如下输出:
```
{ wang: '1', zhang: '2' }
```
这段代码通过数组的reduce方法遍历数组中的每个对象,并将name属性作为属性名,age属性作为属性值,逐步构建出最终的obj对象。初始的累加器为空对象 `{}`。
相关问题
怎么把arr2的name复制到arr1上 var arr1 = [ { name: '', age: '20' } ]; var arr2 = [ { name: 'curry', age: '' }] for (var i = 0; i < arr1.length; i++) { if (arr1[i] === arr2[i]) { arr1[i] = arr2[i]; console.log(arr1); } } console.log(arr1);
可以使用以下代码将`arr2`中的`name`属性复制到`arr1`中:
```
for (var i = 0; i < arr1.length && i < arr2.length; i++) {
arr1[i].name = arr2[i].name;
}
```
这个循环会遍历`arr1`和`arr2`中的所有对象,并将`arr2`中的`name`属性的值赋给`arr1`中相应对象的`name`属性。注意,在复制之前,需要确保`arr1`和`arr2`的长度相等。
有如下数组;请筛选出数组中年龄小年18的对象 var arr = [ {name: '小明', age: 12}, {name: '小红', age: 32}, {name: '小天', age: 45}, {name: '小哈', age: 16}, ]
可以使用 filter 方法来筛选出年龄小于18的对象:
var arr = [
{name: '小明', age: 12},
{name: '小红', age: 32},
{name: '小天', age: 45},
{name: '小哈', age: 16},
];
var result = arr.filter(function(obj) {
return obj.age < 18;
});
console.log(result); // [{name: '小明', age: 12}, {name: '小哈', age: 16}]
阅读全文