#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()
.