APi*_*als 0 javascript variables var operators node.js
假设我有检查字符串的情况.我需要检查它是匹配a还是匹配b.现在,当然,我可以做到
var firstVar = "a"
var secondVar = "b"
var message = "atest" // note that I might not know what message is. it could be anything. it could be just "test" or just "a"
if ((message === firstVar + "test") || (message === secondVar + "test")) {
console.log("success!")
}
Run Code Online (Sandbox Code Playgroud)
但有没有办法压缩这个?与具有一些myVar与值是数组a和b,然后,如果检查message 开始于任何值myVar?如果有人有小费,那将非常感激.谢谢!
使用数组some将是最简单的方法:
var tests = ["a", "b"];
var message = "atest";
if (tests.some(function(t) { return message === t + "test"; })) {
console.log("success!")
}
Run Code Online (Sandbox Code Playgroud)
如果您可以使用ES6并且需要经常运行此检查,那么使用它可能是有意义的
const choices = new Set(["a", "b"].map(t => t + "test"));
…
var message = "atest";
if (choices.has(message)) {
console.log("success!")
}
Run Code Online (Sandbox Code Playgroud)