@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.