ใช้find()วิธีการ:
myArray.find(x => x.id === '45').foo;
จากMDN :
find()วิธีการส่งกลับค่าแรกในอาร์เรย์ถ้าเป็นองค์ประกอบในการสร้างความพึงพอใจอาร์เรย์ทดสอบฟังก์ชั่นที่จัดไว้ให้ มิฉะนั้นundefinedจะถูกส่งกลับ
หากคุณต้องการค้นหาดัชนีแทนให้ใช้findIndex():
myArray.findIndex(x => x.id === '45');
จากMDN :
findIndex()วิธีการส่งกลับดัชนีขององค์ประกอบแรกในอาร์เรย์ที่น่าพอใจที่ให้ฟังก์ชั่นการทดสอบ มิฉะนั้นจะถูกส่งกลับ -1
หากคุณต้องการรับอาร์เรย์ขององค์ประกอบที่ตรงกันให้ใช้filter()วิธีการแทน:
myArray.filter(x => x.id === '45');
นี่จะส่งคืนอาร์เรย์ของวัตถุ หากคุณต้องการได้รับfooคุณสมบัติมากมายคุณสามารถทำได้ด้วยmap()วิธีการ:
myArray.filter(x => x.id === '45').map(x => x.foo);
บันทึก Side: วิธีการเช่นfind()หรือfilter()และลูกศรฟังก์ชั่นที่ไม่ได้รับการสนับสนุนจากเบราว์เซอร์รุ่นเก่า (เช่น IE) ดังนั้นถ้าคุณต้องการที่จะสนับสนุนเบราว์เซอร์เหล่านี้คุณควร transpile รหัสของคุณโดยใช้บาเบล (ที่มีpolyfill )