過濾我需要檢查多個屬性以檢查它們是否包含數組中的字符串之一的對象

穆欽777

所以我有一個字符串數組 = ["ethan" , "kathrine"]

我有一個具有多個屬性的對象,但我只對這些屬性感興趣name,並且description

例如

arr = [
{name: "ethaniel" , description: "strong" , age: 200} ,
{name: "kathrine" , description: "beautiful" , age: 220},
{name: "zack" , description: "he loves kathrine" , age: 133},
{name: "ethan" , description: "he loves kathrine" , age: 133},
{name: "bob" , description: "he loves trucks" , age: 133}
]

結果數組應該是

arr = [
{name: "ethaniel" , description: "strong" , age: 200} ,
{name: "kathrine" , description: "beautiful" , age: 220},
{name: "zack" , description: "he loves kathrine" , age: 133},
{name: "ethan" , description: "he loves kathrine" , age: 133}
]

因為他們每個人的名字或描述中都包含 ethan 或 kathrine

我的想法是這樣做

filteredArry = arr.filter(i => {return i.name.some('a') || i.description.includes('a')})

或者類似的東西

我只是不明白,如果我必須使用 some 或 contains 以及如何在 include/some 方法中包含具有關鍵字的數組的所有內容

馬吉德·巴達維

Array#some

測試數組中是否至少有一個元素通過了提供的函數實現的測試。如果在數組中找到一個元素,提供的函數為其返回真值,則返回真值;否則返回false。它不會修改數組。

Sring#includes

執行區分大小寫的搜索以確定是否可以在另一個字符串中找到一個字符串,並根據需要返回 true 或 false。

因此,在filter迭代,你需要檢查,如果任何的子串的或者是namedescription

const 
  arr = [ {name: "ethaniel" , description: "strong" , age: 200} , {name: "kathrine" , description: "beautiful" , age: 220}, {name: "zack" , description: "he loves kathrine" , age: 133}, {name: "ethan" , description: "he loves kathrine" , age: 133}, {name: "bob" , description: "he loves trucks" , age: 133} ],
  subStrs = ["ethan" , "kathrine"];

const filteredArry = arr.filter(({ name, description }) => 
  subStrs.some(subStr => name.includes(subStr) || description.includes(subStr))
);

console.log(filteredArry);

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

警告:數組或迭代器中的每個子元素都應該有一個唯一的“key”屬性。檢查“搜索”的渲染方法

C 編程:字符串數組 - 如何檢查相等性?

快速檢查數組中的元素是否在另一個數組中(二維)

使用對像數組中的嵌套對象屬性值檢查唯一性

用於在 Spark(Python) 中過濾 RDD 的 Lambda 函數 - 檢查元素是否不是空字符串

pandas loc 檢查值是否包含多個單詞或字符串中的任何一個

PHP 檢查數組鍵是否等於特定的字符串值

Javascript 對象 - 檢查並循環遍歷對像中的數組

javascript檢查字符串是否包含數組中的單詞並替換它們

如何使用cypress檢查對像數組中的值是否等於某個值?

JQ 檢查數組是否包含一個元素

檢查javascript對象的子對像是否包含某個字符串

Groovy,檢查數組中的所有元素是否包含子字符串

檢查對像數組是否與包含其屬性之一的另一個數組完全相等

JavaScript 檢查數組和對象匹配

檢查數組是否包含某些對象

如何檢查每個數組對象屬性是否為空?

如何檢查包含另一個對像數組的對像數組是否具有屬性

檢查數組中是否存在字符串

如何:檢索和檢查數組中的嵌套對象

我需要檢查數組的第一個數量是否等於最後一個

檢查參數 $1 是否為三個字符的全大寫字符串

檢查數組是否包含 mongodb 聚合中的元素

檢查對像是否存在於javascript中的另一個對象樹中

如果我只需要檢查包含逗號和點的字符串中的數字的 max strlen,我需要哪個條件進行 Laravel 驗證

如何檢查一個數組是否包含另一個數組的任何元素

如何在SQL中檢查列是否包含字符串的子字符串?

如果該對象包含在 javascript 中的對像數組中,如何檢查整個原始對象(不使用任何屬性)?

從檢查匹配屬性的 C# 對象列表中返回單個對象