Array.find()

Array.find() - складний пошук значення в масиві.

Синтаксис:

arr.find( callback [,thisArg ])

Параметри:

callback - функція, викликає для кожного значення в масиві, приймає три аргументи:

thisArg - необов'язковий параметр. Значення, що використовується в якості this при виконанні функції callback.

Опис:

find() метод об'єкту Array який викликає передану функцію callback один раз для кожного елемента в масиві, до тих пір, поки вона не поверне true. Якщо такий елемент знайдений, метод find негайно поверне значення цього елемента. В іншому випадку, метод find() поверне undefined.

Пошук починається з першого елемента масиву (зліва направо).

Використовується для складного пошуку значення в масиві, для звичайного пошуку використовуйте метод: Array.indexOf().

Метод find() входить у специфікацію ES2015.

Для повернення індексу знайденого в масиві елемента існує метод findIndex().

Приклад:

var arr=['один','два','три']; arr.find(function(value,index){ alert('value='+value+', index='+index); }); var mas=[3,7,32,98,6,5,3]; var a=mas.find(function(e){return e==5}); alert(a); Пошук в масиві числа більшого за 10 і меншого за 15: function f(a){ //функція для пошуку в масиві if( a>10 && a<15 ) return true; else return false; } var mas = new Array(1, 3, 12, 16, 17, 14, 21, 9); var el = mas.find( f ); alert( el ); Приклад пошуку в масиві рядка в якому кількість символів більша 5: var mas = ['Львів', 'Київ', 'Харків', 'Луцьк']; var res=mas.find((value, index)=>{ return value.length>5; }); alert('результат: '+res); Пошук в масиві рядка "js" в змінивши в нижній регістр значення масиву: var mas= new Array('ЯваСкрипт','JS','JavaScript'); var s=mas.find(function(value){return value.toLowerCase()=='js';}); if(s==undefined)alert('значення "JS" НЕ знайдено в масиві'); else alert('значення "JS" знайдено в масиві');