Нахождение вхождения первой строки в массиве в js

#javascript

Вопрос:

Предположим, мне дан массив

 myArray=[10,true,1.5,'Asia', 20, 'rat'];
 

Теперь какую функцию я должен использовать, чтобы получить индекс первого вхождения строки в массиве?

Комментарии:

1. используйте функцию фильтра

2. findIndex было бы одним из вариантов…

3. функция фильтра с typeof

Ответ №1:

Вы можете использовать findIndex()

 const result = [10,true,1.5,'Asia', 20, 'rat'].findIndex(item => typeof item === "string");
console.log(result); 

Метод findIndex() возвращает индекс первого элемента в массиве, который удовлетворяет предоставленной функции тестирования.

Источник: Веб-документы MDN

Ответ №2:

Если вы хотите найти первый индекс строки, то findIndex будет одним из лучших вариантов.

 const myArray = [10, true, 1.5, "Asia", 20, "rat"];
const index = myArray.findIndex((s) => typeof s === "string");
console.log(index); 

Ответ №3:

Воспользуйся findIndex

 const myArray=[10,true,1.5,'Asia', 20, 'rat'];

const index = myArray.findIndex( ( el ) => {
    return typeof el === 'string';
} );

console.log('Answer : ', index); 

Ответ №4:

Обычно вы можете использовать findIndex, но вы также можете использовать обычный for.. цикл и break

 let myArray = [10, true, 1.5, 'Asia', 20, 'rat'];

let ind = -1;
for (let x = 0; x < myArray.length; x  ) {
  if (typeof myArray[x] === 'string') {
    ind = x;
    break;
  }
}

console.log(ind) 

Ответ №5:

Для полноты картины приведем спецификацию метода Mozilla Array.prototype.filter() .