从 javascript 中的数组获取 return 对象特定值的更直接方法?

More direct way to return object's specific value from an array in javascript?

所以我遇到了一种情况,这让我想要一个不同的解决方案。

我有一个不可变的对象数组。

[
  {
   id: 0,
   value:10
  },
  {
   id: 1,
   value:20
  },
  {
   id: 2,
   value:20
  },
]

我需要搜索数组,找到具有我的 ID 的对象,然后 return 从该对象中找到一个值。

我最后做了什么:

// pull out the entire object from the array
const tempObject = immutableArray.toJS().find(elem => (elem.id === myId));

// set up a temp var to store the desired value
let tempValue = 0;

// make sure the object is valid
if(tempObject !-- undefined){
   // finally store my value
   tempValue = tempObject.value;
}

这似乎是一种浪费。存储整个对象只是为了获得单个值?

我觉得应该是这样的

const myValue = immutableArray.toJS().find(elem => (elem.id === myId).value);

const myValue = immutableArray.toJS().find(elem => (elem.id === myId)).value;

但显然那是行不通的。

有没有像这样更直接的方法来访问这个值而不存储整个对象?

const tempObject = immutableArray.toJS().find(elem => (elem.id === myId));

const getValue = tempObject ? tempObject.value : 0

a = [{id: 0, value:10}, {id: 1, value:20}, {id: 2, value:20}];
console.log((a.find(e => e.id == 1) || {value: 0}).value); // 20
console.log((a.find(e => e.id == 3) || {value: 0}).value); // 0