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

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

如何在兩個(gè)深度數(shù)組中進(jìn)行過(guò)濾

如何在兩個(gè)深度數(shù)組中進(jìn)行過(guò)濾

一只萌萌小番薯 2023-12-14 14:37:19
我想要過(guò)濾兩個(gè)深層數(shù)組,實(shí)際上是我的 JSON:{  "0": {    "product":[{      "uuid":"uid",      "name":"Rice"    },    {      "uuid":"uid",      "name":"Pasta"    }]  },  "1": {    "product":[{      "uuid":"uid",      "name":"Milk"    }]  }}當(dāng)我用“ric”一詞進(jìn)行過(guò)濾時(shí),我希望得到類似的結(jié)果:{  "0": {    "product":[{      "uuid":"uid",      "name":"Rice"    }]  }}但我得到了這個(gè)結(jié)果:{  "0": {    "product":[{      "uuid":"uid",      "name":"Rice"    },    {      "uuid":"uid",      "name":"Pasta"    }]  }}我的代碼:dataSort.categories = json 和 event.target.value.toLowerCase() = 特定單詞dataSort.categories.filter(s => s.products.find(p => p.name.toLowerCase().includes(event.target.value.toLowerCase())));
查看完整描述

4 回答

?
largeQ

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

您可以通過(guò)組合reduce和來(lái)實(shí)現(xiàn)這一點(diǎn)filter


var input = {

  "0": {

    "product":[{

      "uuid":"uid",

      "name":"Rice"

    },

    {

      "uuid":"uid",

      "name":"Pasta"

    }]

  },

  "1": {

    "product":[{

      "uuid":"uid",

      "name":"Milk"

    }]

  }

}


var search = "ric"


var result = Object.entries(input).reduce( (acc, [key,val]) => {

  found = val.product.filter(x => x.name.toLowerCase().includes(search.toLowerCase()))

  if(found.length){

    acc[key] = {...val, product: found}

  }

  return acc

},{})


console.log(result)


查看完整回答
反對(duì) 回復(fù) 2023-12-14
?
滄海一幻覺(jué)

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

有很多方法可以做到這一點(diǎn),一種是將頂級(jí)數(shù)組映射到子數(shù)組過(guò)濾結(jié)果,然后對(duì)其進(jìn)行過(guò)濾:

dataSort.categories
  .map(s => s.products.filter(p => p.name.toLowerCase().includes(event.target.value.toLowerCase())))
  .filter(s => !!s.products.length);

您可能還更喜歡獲得“平面”數(shù)組作為結(jié)果,因?yàn)樵谥笫褂盟菀祝?/p>

dataSort.categories
  .reduce((acc, s) => [...acc, s.products.filter(p => p.name.toLowerCase().includes(event.target.value.toLowerCase()))], []);



查看完整回答
反對(duì) 回復(fù) 2023-12-14
?
智慧大石

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

您的數(shù)據(jù)集是一個(gè)Object,而不是一個(gè)Array,并且過(guò)濾器是一個(gè) Array 方法。您可以通過(guò)Object.values循環(huán)對(duì)象值來(lái)使用reduce,然后過(guò)濾您的產(chǎn)品數(shù)組。

const data = {

? '0': {

? ? product: [

? ? ? {

? ? ? ? uuid: 'uid',

? ? ? ? name: 'Rice',

? ? ? },

? ? ? {

? ? ? ? uuid: 'uid',

? ? ? ? name: 'Pasta',

? ? ? },

? ? ],

? },

? '1': {

? ? product: [

? ? ? {

? ? ? ? uuid: 'uid',

? ? ? ? name: 'Milk',

? ? ? },

? ? ],

? },

};


const keyword = 'ric';

const dataset = Object.values(data);

const results = dataset.reduce((acc, item, index) => {

? const search = keyword.toLowerCase();


? const product = item.product.filter(product => product.name.toLowerCase().includes(search));

? if (product.length) acc[index] = { ...item, product };


? return acc;

}, {});


console.log(results);



查看完整回答
反對(duì) 回復(fù) 2023-12-14
?
LEATH

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

請(qǐng)?jiān)谙旅嬲业酱a來(lái)過(guò)濾掉里面的值product.name,并且只返回與數(shù)組中的相等條件匹配的值product。


const json = [

  {

    product: [

      {

        uuid: "uid",

        name: "Rice",

      },

      {

        uuid: "uid",

        name: "Pasta",

      },

    ],

  },

  {

    product: [

      {

        uuid: "uid",

        name: "Milk",

      },

    ],

  },

];

const inputValue = "rIc";

const filteredArray = [];


json.map((s) => {

  const item = s.product.find((p) =>

    p.name.toLowerCase().includes(inputValue.toLowerCase())

  );

  item && filteredArray.push({ product: item });

});


console.dir(filteredArray);


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

添加回答

舉報(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)