Javascript-форум (https://javascript.ru/forum/)
-   Events/DOM/Window (https://javascript.ru/forum/events/)
-   -   Как вывести индекс элемента массива начинающегося с "ca" (https://javascript.ru/forum/events/81231-kak-vyvesti-indeks-ehlementa-massiva-nachinayushhegosya-s-ca.html)

sovsem-nub 25.10.2020 20:18

Как вывести индекс элемента массива начинающегося с "ca"
 
Вроде бы сделал, но как-то криво. сначала find возвращает элемент массива, потом я опять ищу его в массиве, чтобы получить его index.
как сделать, чтобы find возвращал индекс ПЕРВОГО найденного элемента, а не сам элемент? Желательно без стрелочных функций, так как в них пока не разобрался...

var animals = ['dog', 'cat=123', 'hamster', 'bird', 'fish', 'cacaca'];



var user = animals.find( 
 function checkNumber( currentValue ) {
    return  currentValue.slice(0, 2) == 'ca' ; 
  } 
);


alert(animals.indexOf(user));

laimas 25.10.2020 20:50

Цитата:

Сообщение от sovsem-nub
как сделать, чтобы find возвращал индекс ПЕРВОГО найденного элемента, а не сам элемент?

Никак если не переопределить работу функции. Чем вас не устраивает обычный for с прерыванием при найденном условии и ее итерация?

рони 25.10.2020 21:10

sovsem-nub,
var animals = ['dog', 'cat=123', 'hamster', 'bird', 'fish', 'cacaca'];
var index = animals.findIndex(
 function checkNumber( currentValue ) {
    return  currentValue.slice(0, 2) == 'ca' ;
  }
);
alert(index);


Часовой пояс GMT +3, время: 17:44.