例如,如果我的数组是
var cars = ["Saab", "Volvo", "BMW"];
var answer = cars[1];
我创建了一个函数,如果我键入' Volvo'它说'正确'。有可能做这样的事情:
var cars = ["Saab", "Volvo|volkswagen", "BMW"];
因此,当我输入位置1的内容时,我可以键入沃尔沃或大众汽车,它会说“正确”'? (但不是两者都有)
答案 0 :(得分:2)
您定义了一个多维数组。
var cars = [["Saab"], ["Volvo", "volkswagen"], ["BMW"]];
if(cars[1].includes(val)){
}
答案 1 :(得分:1)
您可以将第二个数组放在第一个数组中:
var cars = ["Saab", ["Volvo", "Volkswagen"], "BMW"];
答案 2 :(得分:0)
使用String#split
方法(使用分隔符|
)拆分字符串,并使用Array#indexOf
方法或Array#includes
方法检查值。
// split the string by `|` symbol
var answer = cars[1].split('|');
// check value by checking index in array
if(answer.indexOf(val) > -1){
// do the rest here
}
答案 3 :(得分:0)
您可以在|
拆分元素并使用includes
来检查值。
var cars = ["Saab", "Volvo|volkswagen", "BMW"];
function check(value, pos) {
return cars[pos].split('|').includes(value)
}
console.log(check('Volvo', 1))
console.log(check('volkswagen', 1))
console.log(check('Saab', 0))
答案 4 :(得分:0)
您可以使用对象而不是数组进行快速查找(includes
和indexOf
不执行此操作):
var cars = {
"Saab": 0,
"Volvo": 1,
"volkswagen": 1,
"BMW": 2
};
您的支票将在固定时间内运行:
if (cars[answer] === 1) // ...
答案 5 :(得分:0)
您可以创建一个哈希对象:
var cars = ["Saab", "Volvo|volkswagen", "BMW"];
cars=cars.reduce(function(obj,el,i){
obj[i]=el.split("|");
return obj;
},{});
console.log("cars is",cars);
var guess=prompt("what is at 1?");
if(cars[1].includes(guess)){
alert("right");
}else{
alert("wrong");
}
所以现在汽车就像:
cars[1]===["Volvo","volkswagen"];
所以你可以检查一下这个阵列是否有“大众汽车......”
答案 6 :(得分:0)
您可以执行以下操作。
function check( array, position, value){
var values = array[position].split('|');
if(values.indexOf(value) >= 0)
alert("Right");
else alert("wrong");
}
var cars = ["Saab", "Volvo|volkswagen", "BMW"];
value = prompt("What is the value at position 1 ");
check(cars, 1, value );