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

為了賬號(hào)安全,請(qǐng)及時(shí)綁定郵箱和手機(jī)立即綁定
已解決430363個(gè)問(wèn)題,去搜搜看,總會(huì)有你想問(wèn)的

如何使用對(duì)象過(guò)濾對(duì)象數(shù)組

如何使用對(duì)象過(guò)濾對(duì)象數(shù)組

慕雪6442864 2022-12-22 15:59:55
我想通過(guò)另一個(gè)數(shù)組的項(xiàng)目過(guò)濾一個(gè)對(duì)象數(shù)組。這是我的物品清單:const list = ["first", "second", "third"]這個(gè)數(shù)組可以是空的,有一個(gè),兩個(gè)或三個(gè) itens...例如:const list = []const list = ["first"]let list = ["first", "third"]所以,我需要使用我的狀態(tài)list來(lái)過(guò)濾我myArr2的。const myArr2 = [  {    id: "1",    language: "portuguese",    status: "first"      },  {    id: "2",    language: "portuguese",    status: "first"      },  {    id: "3",    language: "portuguese",    status: "second"      },  {    id: "4",    language: "portuguese",    status: "third"      },        {    id: "5",    language: "portuguese",    status: "second"      },      ]如果我list的是:const list = [ "first", "third" ]輸出必須是:const myArr2 = [  {    id: "1",    language: "portuguese",    status: "first"      },  {    id: "2",    language: "portuguese",    status: "first"      },  {    id: "4",    language: "portuguese",    status: "third"      },      ]如果我list的是:const list = [ "first" ]輸出必須是:const myArr2 = [  {    id: "1"    language: "portuguese"    status: "first"      },  {    id: "2"    language: "portuguese"    status: "first"      }  }等等...我制作了這段代碼但無(wú)法正常工作:Object.entries(list).forEach(status => {  myArr2.filter(item => {    if(item.status === status){      return item    }  })})我究竟做錯(cuò)了什么?有人可以幫助我嗎?
查看完整描述

3 回答

?
陪伴而非守候

TA貢獻(xiàn)1757條經(jīng)驗(yàn) 獲得超8個(gè)贊

您正在以我將要說(shuō)的相反方式進(jìn)行操作。您需要檢查 myArr2 中的每個(gè)項(xiàng)目是否具有列表數(shù)組中存在的狀態(tài)。你可以這樣做 -


正確的代碼 -

let myArr2 = [

  {

    id: "1",

    language: "portuguese",

    status: "first"    

  },

  {

    id: "2",

    language: "portuguese",

    status: "first"    

  },

  {

    id: "3",

    language: "portuguese",

    status: "second"    

  },

  {

    id: "4",

    language: "portuguese",

    status: "third"    

  },      

  {

    id: "5",

    language: "portuguese",

    status: "second"    

  },      

];

const list = [ "first", "third" ]


myArr2 = myArr2.filter(item => list.includes(item.status))

console.log(myArr2)

你的方法有誤

Object.entries(list).forEach(status => {

  myArr2.filter(item => {

    if(item.status === status){

      return item

    }

  })

})

在上述方法中,您將遍歷列表中的第一個(gè)元素(即first)。因此,它將過(guò)濾掉所有myArr2狀態(tài)不為第一的項(xiàng)目。


在下一次迭代中,您將檢查列表中的第二個(gè)元素(即second)。所以,現(xiàn)在它會(huì)進(jìn)一步過(guò)濾掉所有myArr2狀態(tài)不為的項(xiàng)目second。由于沒(méi)有元素同時(shí)具有 first 和 second 的狀態(tài),因此您的代碼可能會(huì)將結(jié)果數(shù)組作為空數(shù)組返回。


注意:您需要將返回的新數(shù)組分配myArr2給某個(gè)變量。該filter方法不會(huì)就地過(guò)濾掉元素。因此,由于您還沒(méi)有這樣做,如果您嘗試通過(guò)控制臺(tái)日志記錄來(lái)檢查它,您的代碼可能會(huì)為您提供原始數(shù)組本身。


filter() 您可以在此處閱讀更多信息。


查看完整回答
反對(duì) 回復(fù) 2022-12-22
?
繁花不似錦

TA貢獻(xiàn)1851條經(jīng)驗(yàn) 獲得超4個(gè)贊

你可以過(guò)濾數(shù)組。如果元素是您的過(guò)濾器列表的一部分(indexOf != -1),請(qǐng)檢查此項(xiàng)。


function filterArray(arr, list) {

    return arr.filter(el => {

        return list.indexOf(el.status)!=-1;

    });

}


const myArr2 = [

  {

    id: "1",

    language: "portuguese",

    status: "first"    

  },

  {

    id: "2",

    language: "portuguese",

    status: "first"    

  },

  {

    id: "3",

    language: "portuguese",

    status: "second"    

  },

  {

    id: "4",

    language: "portuguese",

    status: "third"    

  },      

  {

    id: "5",

    language: "portuguese",

    status: "second"    

  },      

]


list1 = []

list2 = ["first"]

list3 = ["first", "third"]


console.log(filterArray(myArr2, list3));

console.log(filterArray(myArr2, list2));

console.log(filterArray(myArr2, list1));


查看完整回答
反對(duì) 回復(fù) 2022-12-22
?
慕姐4208626

TA貢獻(xiàn)1852條經(jīng)驗(yàn) 獲得超7個(gè)贊

您可以解構(gòu)status并檢查是否list包含此值。

result = myArr2.filter(({ status }) => list.includes(status));


查看完整回答
反對(duì) 回復(fù) 2022-12-22
  • 3 回答
  • 0 關(guān)注
  • 144 瀏覽
慕課專欄
更多

添加回答

舉報(bào)

0/150
提交
取消
微信客服

購(gòu)課補(bǔ)貼
聯(lián)系客服咨詢優(yōu)惠詳情

幫助反饋 APP下載

慕課網(wǎng)APP
您的移動(dòng)學(xué)習(xí)伙伴

公眾號(hào)

掃描二維碼
關(guān)注慕課網(wǎng)微信公眾號(hào)