簡體   English   中英

Javascript從屬性值匹配的對象數組返回數組

[英]Javascript return array from array of objects where property value matches

是否有內置的Javascript函數或庫可以執行以下操作:

const data = [
    { name: 'name1', type: 'type1' },
    { name: 'name2', type: 'type2' },
    { name: 'name3', type: 'type3' },
    { name: 'name4', type: 'type2' },
];

要搜索以下內容並返回type = 'type2'所有對象

類似於data.findIndex((i) => i.type === 'type2')但是返回所有匹配項,而不是第一個索引?

謝謝

您正在尋找Array.filter()

filter()方法創建一個新數組,其中所有元素都通過了由提供的函數實現的測試。

例:

 const data = [ { name: 'name1', type: 'type1' }, { name: 'name2', type: 'type2' }, { name: 'name3', type: 'type3' }, { name: 'name4', type: 'type2' }, ] const result = data.filter(o => o.type === 'type2') console.log(result) 

您可以使用filter()

 const data = [ { name: 'name1', type: 'type1' }, { name: 'name2', type: 'type2' }, { name: 'name3', type: 'type3' }, { name: 'name4', type: 'type2' }, ]; let res = data.filter(({type}) => type === "type2"); console.log(res) 

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM