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

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

使用多個(gè)過濾器過濾對(duì)象數(shù)組

使用多個(gè)過濾器過濾對(duì)象數(shù)組

回首憶惘然 2021-11-04 15:46:41
我正在嘗試使用“過濾器”對(duì)象過濾一組對(duì)象。下面的“過濾器”對(duì)象應(yīng)該過濾數(shù)組的對(duì)象類型:“玩具”或“電子”,語言:“英語”或“西班牙語”。我正在嘗試創(chuàng)建一個(gè)函數(shù),該函數(shù)將name: 'StoreF'基于提供的過濾器返回最后一個(gè)對(duì)象 ( ) 作為示例。var filters = {                country: ["France"],                type: ["toys", "electronics"],                language: ["English", "Spanish"]            }        var stores = [{                name: "StoreA",                country: "United States",                type: ["toys", "groceries"],                language: ["English", "Spanish"]            },            {                name: "StoreB",                country: "Spain",                type: ["toys"],                language: ["English", "Spanish"]            },            {                name: "StoreC",                country: "France",                type: ["autoparts"],                language: ["French"]            },            {                name: "StoreD",                country: "Thailand",                type: ["toys"],                language: ["Thai"]            },            {                name: "StoreE",                country: "India",                type: ["toys"],                language: ["English"]            },            {                name: "StoreF",                country: "France",                type: ["toys"],                language: ["English", "French"]            },        ]使用此函數(shù)可以正常工作,直到我為同一類別引入 2 個(gè)過濾器(即language: ["English", "Spanish"])。function nestedFilter(targetArray, filters) {            var filterKeys = Object.keys(filters);            return targetArray.filter(function(eachObj) {                return filterKeys.every(function(eachKey) {                    if (!filters[eachKey].length) {                        return true;                    }                    if (!$.isEmptyObject(eachObj[eachKey])) {                        return eachObj[eachKey].includes(filters[eachKey]);                    }                });            });        };nestedFilter(stores, filters);我究竟做錯(cuò)了什么?
查看完整描述

1 回答

?
慕雪6442864

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

的,或者需要some不every。


const res = stores.filter(store =>

    Object.entries(filters).every(([key , value]) => value.some(e => 

        store[key].includes(e)

    )));


console.log(res);

<script>

const filters = {

    country: ["France"],

    type: ["toys", "electronics"],

    language: ["English", "Spanish"]

};


const stores = [

    {

        name: "StoreA",

        country: "United States",

        type: ["toys", "groceries"],

        language: ["English", "Spanish"]

    },

    {

        name: "StoreB",

        country: "Spain",

        type: ["toys"],

        language: ["Engilsh", "Spanish"]

    },

    {

        name: "StoreC",

        country: "France",

        type: ["autoparts"],

        language: ["French"]

    },

    {

        name: "StoreD",

        country: "Thailand",

        type: ["toys"],

        language: ["Thai"]

    },

    {

        name: "StoreE",

        country: "India",

        type: ["toys"],

        language: ["Engilsh"]

    },

    {

        name: "StoreF",

        country: "France",

        type: ["toys"],

        language: ["English", "French"]

    },

];

</script>


另請(qǐng)注意您商店中的多個(gè)錯(cuò)別字,英語不會(huì)返回 true


查看完整回答
反對(duì) 回復(fù) 2021-11-04
  • 1 回答
  • 0 關(guān)注
  • 137 瀏覽
慕課專欄
更多

添加回答

舉報(bào)

0/150
提交
取消
微信客服

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

幫助反饋 APP下載

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

公眾號(hào)

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