这是我要实现OR的地方

return bigData.country==["US"||"JP"] && (bigData.description=="iPhone 4S")



如您在上面看到的,我正在返回对象,如果对象bigData.country的键值是USJPAND bigData.descriptioniPhone 4S,也可以是更多设备。

我能够取得理想的结果
return (bigData.country=="US"||bigData.country=="JP") && (bigData.description=="iPhone 4S")

但是由于我可以方便地在数组中添加和删除数组,因此我尝试使用数组。也欢迎使用其他方法的建议。

如果您想使用我的代码,这里是 REPL

最佳答案

您可以像这样使用Array.prototype.indexOf(成为!= -1):

return ["US", "JP"].indexOf(bigData.country) !== -1 && ["X", "Y", "Z"].indexOf(bigData.description) !== -1;

或者在ES6中,您可以使用Array.prototype.includes像这样:
return ["US", "JP"].includes(bigData.country) && ["X", "Y", "Z"].includes(bigData.description);

关于javascript - 阵列中的逻辑或,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/47462867/

10-11 12:40