gpt4 book ai didi

javascript - 如何避免 if-else 语句做同样的事情?

转载 作者:行者123 更新时间:2023-12-01 00:59:32 25 4
gpt4 key购买 nike

我试图最小化一个小的js程序,我遇到了这个问题:我不想写很多if-else语句,它们都做同样的事情。有没有一种优雅的方式来重写这个函数?

function advance_bthrads(toCompare, arr) {
arr.forEach(function(element) {
if (element.value) {
let wf = element.value['wait_for'];
let req = element.value['request'];
if (wf && req) {
if (toCompare === wf[0] || toCompare === req[0]) {
element = update_element(element);
}
} else if (wf) {
if (toCompare === wf[0]) {
element = update_element(element);
}
} else if (req) {
if (toCompare === req[0]) {
element = update_element(element);
}
}
}
});
return arr;
}

最佳答案

forEach 不返回任何内容 - 使用 map:

arr = arr.map(element => {
if (element.value) {
let [wf] = element.value['wait_for'] || [0];
let [req] = element.value['request'] || [0];
if (wf && req && [wf, req].includes(toCompare)) element = update_element(element);
}
return element;
});

关于javascript - 如何避免 if-else 语句做同样的事情?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56217820/

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