Например, если мой массив
var cars = ["Saab", "Volvo", "BMW"];
var answer = cars[1];
и я создаю функцию, которая, если я нахожу "Volvo", говорит "Правильно". Можно ли сделать что-то вроде этого:
var cars = ["Saab", "Volvo|volkswagen", "BMW"];
Поэтому, когда я печатаю то, что находится в позиции 1, я могу напечатать Volvo или volkswagen, и он скажет "правильно"? (Но не оба)
Вы определяете многомерный массив.
var cars = [["Saab"], ["Volvo", "volkswagen"], ["BMW"]];
if(cars[1].includes(val)){
}
У вас может быть второй массив внутри первого:
var cars = ["Saab", ["Volvo", "Volkswagen"], "BMW"];
Вы можете сделать следующее.
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 );
Вы можете создать хэш-объект:
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"];
Итак, вы можете проверить, есть ли у этого массива "volkswagen"...
Разделите строку методом String#split
(с помощью seperator |
) и проверьте значение, используя метод 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
}
Вы можете разделить элемент на |
и использование 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))
Вы можете использовать объект вместо массива для быстрого поиска (в том includes
и indexOf
):
var cars = {
"Saab": 0,
"Volvo": 1,
"volkswagen": 1,
"BMW": 2
};
Ваша проверка будет работать в постоянное время:
if (cars[answer] === 1) // ...