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

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

如何根據(jù)javascript中的動態(tài)值過濾數(shù)組

如何根據(jù)javascript中的動態(tài)值過濾數(shù)組

達(dá)令說 2021-08-20 17:04:23
我想根據(jù)動態(tài)值(名稱和部分)過濾下面給出的數(shù)組。var allResponse = [{  "name": "ABC",  "class": "8",  "section": "A",},{  "name": "DEF",  "class": "7",  "section": "B",},{  "name": "ABC",  "class": "8",  "section": "D",},]name 和 section 的這些值,我正在單擊復(fù)選框。基于這些值,我想過濾這個(gè)給定的數(shù)組allResponse。值可以是多個(gè),例如:過濾名稱為 ABC 且部分為 A 和 D的數(shù)組,就像在獲得價(jià)值之后,我嘗試創(chuàng)建一個(gè)對象來過濾,如下面給出的那樣進(jìn)行迭代過濾。但是做不到var filterLiterals= [{"name": "ABC"},{"section": "A"},{"section": "D"}];orvar filterLiterals= ["ABC","A","D"];所以結(jié)果應(yīng)該是{  "name": "ABC",  "class": "8",  "section": "A",},我很困惑應(yīng)該遵循哪種方法來獲得結(jié)果。我嘗試使用 || 和 && 運(yùn)算符,但無法得到我想要的結(jié)果。任何人都可以建議我采用合適和正確的方法來過濾這個(gè)數(shù)組。我做不到。是否可以以任何方式在javascript中以這種方式過濾......?
查看完整描述

3 回答

?
幕布斯6054654

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

根據(jù)我的理解,我需要在下面找到滿足的元素,


名稱:ABC 部分:A 或 D


var allResponse = [

    {

        "name": "ABC",

        "class": "8",

        "section": "A",

    },

    {

        "name": "DEF",

        "class": "7",

        "section": "B",

    },

    {

        "name": "ABC",

        "class": "8",

        "section": "D",

    },  

];


var filterLiterals = [

    {"name": "ABC"},

    {"section": "A"},

    {"section": "D"}

];


const parsed = filterLiterals.reduce((acc, obj) => {

    const key = Object.keys(obj)[0];

    if (typeof acc[key] === 'undefined')

        acc[key] = [obj[key]];

    else 

        acc[key].push(obj[key]);

    return acc;

}, {});


//console.log("parsed: ", parsed);


var answer = allResponse.filter(obj => {

    let flag = true;

    for (const key of Object.keys(parsed)) {

        if (!parsed[key].includes(obj[key])) {

            flag = false;

            break;

        }

    }

    return flag;

});


console.log(answer);


查看完整回答
反對 回復(fù) 2021-08-20
  • 3 回答
  • 0 關(guān)注
  • 176 瀏覽
慕課專欄
更多

添加回答

舉報(bào)

0/150
提交
取消
微信客服

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

幫助反饋 APP下載

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

公眾號

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