使用js的迭代器查找对象数组中某对象的value为1的对象
时间: 2023-04-01 15:02:14 浏览: 66
可以使用以下代码实现:
```javascript
const arr = [{key: 'a', value: 1}, {key: 'b', value: 2}, {key: 'c', value: 1}];
const iterator = arr.values();
let result = iterator.next();
while (!result.done) {
if (result.value.value === 1) {
console.log(result.value);
break;
}
result = iterator.next();
}
```
这段代码会输出数组中第一个value为1的对象,即 `{key: 'a', value: 1}`。
相关问题
es6 根据一个key 值数组查找对象对应的value值
可以使用 ES6 中的 `Array.prototype.reduce()` 方法来实现:
```javascript
const obj = { a: 1, b: 2, c: 3, d: 4 };
const keys = ['a', 'c'];
const result = keys.reduce((acc, key) => {
if (key in obj) {
acc.push(obj[key]);
}
return acc;
}, []);
console.log(result); // [1, 3]
```
首先定义一个对象 `obj` 和一个包含要查找的 key 值的数组 `keys`。然后使用 `reduce()` 方法对这个数组进行迭代,每次检查该 key 值是否在 `obj` 对象中存在,如果存在则将对应的 value 值添加到结果数组中。最后返回结果数组即可。
数组对象中的value相加
要将数组中的所有对象的value相加,可以使用reduce方法来实现。例如:
```javascript
const arr = [
{ value: 1 },
{ value: 2 },
{ value: 3 }
];
const sum = arr.reduce((acc, curr) => acc + curr.value, 0);
console.log(sum); // 6
```
在上面的代码中,reduce方法接收一个回调函数和一个初始值。回调函数中的acc参数是累加器,它初始值为0,而curr参数则是当前元素。在每次迭代中,回调函数将累加器和当前元素的value属性相加,并返回新的累加器值。最后,reduce方法返回最终的累加器值,即数组中所有对象的value的总和。