gpt4 book ai didi

javascript - 如何简化嵌套条件?

转载 作者:行者123 更新时间:2023-12-03 22:47:57 30 4
gpt4 key购买 nike

我认为使用 if/if else 语句的代码太多,我在一些网站上看到可以更好地简化嵌套条件,例如本网站上显示的一些示例 https://www.javascripttutorial.net/javascript-if-else/

我想在数组或这样的对象中获取风向名称 - 让 windNames = [Northerly','North Easterly','Easterly','South Easterly'...]

你们能帮帮我吗?

非常感谢。

function textDescription(d) {
{ //convert the wind direction as int to string
if (d > 0 && d < 20) {
return "Northerly";
} else if (d > 30 && d < 60) {
return "North easterly";
} else if (d > 55 && d < 100) {
return "Easterly";
} else if (d > 110 && d < 140) {
return "South easterly";
} else if (d > 145 && d < 201) {
return "Southerly";
} else if (d > 201 && d < 215) {
return "South westerly";
} else if (d > 235 && d < 245) {
return "Westerly";
} else if (d > 225 && d < 325) {
return "North westerly";
} else if (d > 321) {
return "Northerly";
}
}
}

最佳答案

您可以使用数组的数组,其中每个子数组指示 d 必须介于两者之间的两个数字,以及关联的字符串。当函数被调用时,.find关联的子数组,如果存在则返回它的字符串:

const windDirections = [
[0, 20, 'Northerly'],
[30, 60, 'North easterly'],
[55, 100, 'Easterly'],
[110, 140, 'South easterly'],
[145, 201, 'Southerly'],
[201, 215, 'South westerly'],
[235, 245, 'Westerly'],
[225, 325, 'North westerly'],
[321, Infinity, 'Northerly'],
];
function textDescription(d) {
const foundDirectionArr = windDirections.find(([low, high]) => d > low && d < high);
if (foundDirectionArr) {
return foundDirectionArr[2];
}
}

console.log(textDescription(208));
console.log(textDescription(326));

关于javascript - 如何简化嵌套条件?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/61198775/

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