第七色在线视频,2021少妇久久久久久久久久,亚洲欧洲精品成人久久av18,亚洲国产精品特色大片观看完整版,孙宇晨将参加特朗普的晚宴

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

使用包含數組值來過濾數組

使用包含數組值來過濾數組

富國滬深 2023-10-14 16:17:01
我正在嘗試使用該方法過濾對象數組includes,但我認為我做錯了。有人可以幫助我嗎?它不需要是一個包含方法,但它必須返回對象,如下例所示:<html><script>const testeArray = [{name:"antonio", category: ["One","Two"]},{name:"joana", category: ["Two"]}];const catArray1 = ["One","Two"];const catArray2 = ["One"];const text = "an"const resultArray1 = testeArray.filter((item)=>{return item.name.includes(text) && item.category.includes(catArray1);})  console.log(resultArray1);  //should return antonio and joana objectsconst resultArray2 = testeArray.filter((item)=>{return item.name.includes(text) && item.category.includes(catArray2);})  console.log(resultArray2);   //should return antonio object only </script></html><html><script>const testeArray = [{name:"antonio", category: ["One","Two"]},{name:"joana", category: ["Two"]}];const catArray1 = ["One","Two"];const catArray2 = ["One"];const text = "an"const resultArray1 = testeArray.filter((item)=>{return item.name.includes(text) && item.category.includes(catArray1);})  console.log(resultArray1);  //should return antonio and joana objectsconst resultArray2 = testeArray.filter((item)=>{return item.name.includes(text) && item.category.includes(catArray2);})  console.log(resultArray2);   //should return antonio object only </script></html>
查看完整描述

3 回答

?
偶然的你

TA貢獻1841條經驗 獲得超3個贊

您可以使用Array#somewith 來Array#includes檢查一個數組是否包含另一個數組的任何元素。


const testeArray = [{name:"antonio", category: ["One","Two"]},{name:"joana", category: ["Two"]}];

const catArray1 = ["One","Two"];

const catArray2 = ["One"];

const text = "an"


const resultArray1 = testeArray.filter((item)=>{

return item.name.includes(text) && item.category.some(x => catArray1.includes(x));

})  

console.log(resultArray1);  //should return antonio and joana objects


const resultArray2 = testeArray.filter((item)=>{

return item.name.includes(text) && item.category.some(x => catArray2.includes(x));

})  

console.log(resultArray2);   //should return antonio object only 


查看完整回答
反對 回復 2023-10-14
?
MMTTMM

TA貢獻1869條經驗 獲得超4個贊

如果您正在尋找精確匹配,可以使用JSON.stringify將數組轉換為字符串并使用===運算符進行匹配。


const testeArray = [{name:"antonio", category: ["One","Two"]},{name:"joana", category: ["Two"]}];

const catArray1 = ["One","Two"];

const catArray2 = ["One"];

const text = "an"


const resultArray1 = testeArray.filter((item)=>{

    return item.name.includes(text) && JSON.stringify(item.category) === JSON.stringify(catArray1);

})  

console.log(resultArray1);  //should return      antonio and joana objects


const resultArray2 = testeArray.filter((item)=>{

    return item.name.includes(text) && JSON.stringify(item.category) === JSON.stringify(catArray2);

})  

console.log(resultArray2);

當兩個數組的元素位于相同位置時,這將起作用。


查看完整回答
反對 回復 2023-10-14
?
aluckdog

TA貢獻1847條經驗 獲得超7個贊

您可以過濾項目類別并檢查返回的數組長度是否大于0。


<html>

<script>

const testeArray = [{name:"antonio", category: ["One","Two"]},{name:"joana", category: ["Two"]}];

const catArray1 = ["One","Two"];

const catArray2 = ["One"];

const text = "an"


const resultArray1 = testeArray.filter((item)=>{

return item.name.includes(text) && item.category.filter(cat => catArray1.indexOf(cat) > -1).length > 0;

})  

console.log(resultArray1);  //should return antonio and joana objects


const resultArray2 = testeArray.filter((item)=>{

return item.name.includes(text) && item.category.filter(cat => catArray2.indexOf(cat) > -1).length > 0;

})  

console.log(resultArray2);   //should return antonio object only 


</script>

</html>


查看完整回答
反對 回復 2023-10-14
  • 3 回答
  • 0 關注
  • 168 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優(yōu)惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號