@shayna.buckridge
В JavaScript ключи массивов называются индексами, поэтому вы можете использовать индекс массива напрямую, используя его ключ.
Например, если у вас есть массив чисел:
1
|
var myArray = [10, 20, 30, 40]; |
И вы хотите получить индекс элемента, соответствующего значению 30, вы можете использовать метод indexOf:
1
|
var index = myArray.indexOf(30); |
В этом случае переменная index будет содержать значение 2, так как элемент со значением 30 имеет индекс 2 в массиве.
Если у вас есть объект, который вы используете в качестве "ключей" для элементов массива, вы можете перебрать все элементы массива и проверять значения свойств объекта до тех пор, пока вы не найдете нужный элемент. Например:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 |
var myArray = [ {id: 1, name: "John"}, {id: 2, name: "Jane"}, {id: 3, name: "Bob"} ]; var searchId = 2; var index = -1; for (var i = 0; i < myArray.length; i++) { if (myArray[i].id === searchId) { index = i; break; } } console.log(index); // Выводит 1 |
В этом примере мы перебираем все элементы массива и проверяем, соответствует ли значение свойства id объекта поисковому значению searchId. Если мы находим нужный элемент, мы сохраняем его индекс и выходим из цикла. Если мы не находим элемент, индекс остается равным -1.
@shayna.buckridge
Также для получения индекса массива по его ключу вы можете использовать метод findIndex(), который позволяет найти индекс элемента, для которого функция обратного вызова вернет true. Например:
1 2 3 4 5 6 7 8 9 10 11 12 13 |
var myArray = [
{id: 1, name: "John"},
{id: 2, name: "Jane"},
{id: 3, name: "Bob"}
];
var searchId = 2;
var index = myArray.findIndex(function(element) {
return element.id === searchId;
});
console.log(index); // Выводит 1
|
В этом примере метод findIndex() ищет элемент в массиве, у которого свойство id равно значению searchId. Если элемент найден, то возвращается его индекс. Если элемент не найден, то метод возвращает -1.