Некоторые из вас мутируют новый массив (array.map
) из исходного массива и делают indexOf
.
Другие зацикливаются с for
и затем проверяют переменную index
.
Тогда почему сообщество JS работает над расширением языковых конструкций, методов и т. Д.?
Я рекомендую Вам лучше погрузиться в MDN и прочитать о findIndex ?
function whereIsAlice(persons) {
return persons.findIndex(function(person) {
return person.firstName === 'Alice';
});
}
var friends1 = [
{
firstName: 'John',
lastName: 'Gaudet'
},
{
firstName: 'Lisa',
lastName: 'Mcclanahan'
},
{
firstName: 'Alice',
lastName: 'Vore'
}, // Alice is here, at index 2
{
firstName: 'Marine',
lastName: 'Salsbury'
},
];
var friends2 = [
{
firstName: 'Tim'
},
{
firstName: 'Arthur'
},
{
firstName: 'Juan'
},
];
console.log(whereIsAlice(friends1));
console.log(whereIsAlice(friends2));
В ES6 он настолько короче, что не вижу смысла создавать метод:
console.log(friends1.findIndex(friend => friend.firstName === 'Alice'));
console.log(friends2.findIndex(friend => friend.firstName === 'Alice'));