ใช้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 )