gpt4 book ai didi

javascript - 数组中指定的if语句条件

转载 作者:搜寻专家 更新时间:2023-11-01 04:53:48 24 4
gpt4 key购买 nike

我有以下数组:

array = ["ProgA", "ProgC", "ProgG"]

这个数组可以根据用户输入而改变。

我有以下 Json 文件:

    {"ABC":{

"ProgA": 1,
"ProgB": 0,
"ProgC": 1,
"ProgD": 0,
"ProgE": 0,
"ProgF": 1,
"ProgG": 1,
"ProgH": 0


},
"DEF":{

"ProgA": 1,
"ProgB": 0,
"ProgC": 0,
"ProgD": 0,
"ProgE": 1,
"ProgF": 0,
"ProgG": 1,
"ProgH": 0


},
"GHI":{

"ProgA": 1,
"ProgB": 1,
"ProgC": 1,
"ProgD": 1,
"ProgE": 1,
"ProgF": 1,
"ProgG": 1,
"ProgH": 1


},
"JKL":{

"ProgA": 1,
"ProgB": 0,
"ProgC": 1,
"ProgD": 1,
"ProgE": 0,
"ProgF": 1,
"ProgG": 0,
"ProgH": 1


},
"MNO":{

"ProgA": 1,
"ProgB": 1,
"ProgC": 1,
"ProgD": 0,
"ProgE": 1,
"ProgF": 1,
"ProgG": 1,
"ProgH": 1

}}

我的目标是基本上返回所有具有 ProgA、ProgC 和 ProgG == 1 的名称(“ABC”、“DEF”等)

当条件位于可以更改的数组中时,我不确定如何评估 if 语句。

最佳答案

您可以使用 filter()every()

var array = ["ProgA", "ProgC", "ProgG"];
var obj = {"ABC":{"ProgA":1,"ProgB":0,"ProgC":1,"ProgD":0,"ProgE":0,"ProgF":1,"ProgG":1,"ProgH":0},"DEF":{"ProgA":1,"ProgB":0,"ProgC":0,"ProgD":0,"ProgE":1,"ProgF":0,"ProgG":1,"ProgH":0},"GHI":{"ProgA":1,"ProgB":1,"ProgC":1,"ProgD":1,"ProgE":1,"ProgF":1,"ProgG":1,"ProgH":1},"JKL":{"ProgA":1,"ProgB":0,"ProgC":1,"ProgD":1,"ProgE":0,"ProgF":1,"ProgG":0,"ProgH":1},"MNO":{"ProgA":1,"ProgB":1,"ProgC":1,"ProgD":0,"ProgE":1,"ProgF":1,"ProgG":1,"ProgH":1}}

var result = Object.keys(obj).filter(function(e) {
return array.every(function(a) {
return obj[e][a] == 1;
});
});

console.log(result)

关于javascript - 数组中指定的if语句条件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38269084/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com