簡體   English   中英

如何使用條件過濾數組並在 JavaScript 中獲取具有首選數據的數組?

[英]How to filter an array by using conditions and get the array with preferred data in JavaScript?

下面是我擁有的對象數組,我希望結果為僅包含不等於字符串“搜索”的 id 的數組。

我嘗試了以下語法,但它返回了 object 而不是字符串。

結果我

 const projects = [ {projectId: "1111111", projectName: "A"}, {projectId: "search", projectName: "B"}, {projectId: "2222222", projectName: "C"}, {projectId: "search", projectName: "D"}, {projectId: "333333333", projectName: "E"} ]; const result = projects.filter((data) => data.projectId.== 'search' && data.projectId) console.log(result)

需要:

[
 "1111111"
 "2222222"
"333333333"
]

可以通過使用forEach來完成。

let newArray = []
const projects = [
   {projectId: "1111111", projectName: "A"},
   {projectId: "search", projectName: "B"},
   {projectId: "2222222", projectName: "C"},
   {projectId: "search", projectName: "D"},
   {projectId: "333333333", projectName: "E"}
];
projects.forEach(item =>{
    if(item.projectId !== 'search'){ 
        newArray.push(item.projectId)
    }
})
console.log(newArray) //["1111111", "2222222", "333333333"]

您可以使用 filter() 和 map(),

 const projects = [ {projectId: "1111111", projectName: "A"}, {projectId: "search", projectName: "B"}, {projectId: "2222222", projectName: "C"}, {projectId: "search", projectName: "D"}, {projectId: "333333333", projectName: "E"} ]; let result = projects.filter(({projectId}) => projectId.== 'search');map(({projectId})=> projectId). console;log(result);

暫無
暫無

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

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