对象数组中获取指定id对应的val
时间: 2024-05-01 10:19:42 浏览: 15
假设对象数组为arr,每个对象有id和val两个属性,需要获取id为指定值的对象的val属性值。
你可以使用 JavaScript 中的数组方法 find() 或者 filter(),代码示例如下:
使用 find() 方法:
```javascript
const arr = [
{ id: 1, val: 'value 1' },
{ id: 2, val: 'value 2' },
{ id: 3, val: 'value 3' }
];
const idToFind = 2;
const obj = arr.find(item => item.id === idToFind);
if(obj) {
console.log(obj.val); // 输出 value 2
} else {
console.log('id 为 ' + idToFind + ' 的对象不存在!');
}
```
使用 filter() 方法:
```javascript
const arr = [
{ id: 1, val: 'value 1' },
{ id: 2, val: 'value 2' },
{ id: 3, val: 'value 3' }
];
const idToFind = 2;
const objs = arr.filter(item => item.id === idToFind);
if(objs.length > 0) {
console.log(objs[0].val); // 输出 value 2
} else {
console.log('id 为 ' + idToFind + ' 的对象不存在!');
}
```
这两种方法的区别在于,find() 方法会返回第一个符合条件的对象,而 filter() 方法会返回所有符合条件的对象组成的数组。如果确定只有一个符合条件的对象,建议使用 find() 方法。