Используйте метод find()
:
myArray.find(x => x.id === '45').foo;
С MDN :
Метод find()
возвращает первое значение в массиве,если элемент в массиве удовлетворяет предоставленной функции тестирования.В противном случае возвращается undefined
.
Если вы хотите найти вместо него index , используйте findIndex()
:
myArray.findIndex(x => x.id === '45');
From MDN :
Метод findIndex()
возвращает индекс первого элемента в массиве, который удовлетворяет предоставленной функции тестирования.В противном случае возвращается -1.
Если вы хотите получить массив совпадающих элементов, используйте метод filter()
вместо:
myArray.filter(x => x.id === '45');
Это вернет массив объектов.Если вы хотите получить массив foo
свойств, вы можете сделать это с помощью метода map()
:
myArray.filter(x => x.id === '45').map(x => x.foo);
Примечание: такие методы, как find()
или filter()
и функции стрелок не поддерживаются более старыми браузерами (например, IE), поэтому, если вы хотите поддерживать эти браузеры, вы должны перенести свой код, используя Babel (с polyfill ).