Головна‎ > ‎JavaScript‎ > ‎Додатково‎ > ‎

Методи для масивів

forEach - перебрати 
  • item - наступний елемент масиву
  • i - його номер (не обов'язкова)
  • arr - масив, який перебирається
const emotions = ['happy', 'sad', 'angry'];
emotions.forEach( emotion => console.log(emotion) );


var arr = ["Яблуко", "Апельсин", "Груша"];
arr.forEach(function(item, i, arr) {
    alert( i + ": " + item + " (масив:" + arr + ")" );
});




filter - для фільтрації

let numbers = [2, 5, 1, -1, 0, 6, 7, 8, 9, -4]; 
let even = numbers.filter(n => n % 2 == 0); 
// even => [2, 0, 6, 8, -4]

let res = students.filter(student => student.subject == 'math' && student.score >= 70);

Масив співпадаючих об'єктів
myArray.filter(x => x.id === '45');

массив співпадаючих полів
myArray.filter(x => x.id === '45').map(x => x.foo);
myArray.filter(x => x.age > min && x.age < max).map(x => x.name);

массив співпадаючих полів, що є масивами
arr.filter(x => x.friends.some( element => element == drug)).map(x => x.name);




map - для трансформації

objArray = [ { Name: 'Andriy', Price: 2}, { Name: 'Zahar', Price: 4}, { Name: 'Vasil', Price: 6} ];

let result = objArray.map(a => a.Price);   // 2,4,6
Або:
let result = objArray.map(({ Price }) => Price);
var result = objArray.map(function(a) {return a.Price;});   




every/some - перевірити наявність

Чи всі цифри >= 3 
const ratings = [3, 5, 4, 3, 5];
const goodOverallRating = ratings.every( rating => rating >= 3 );
// goodOverallRating = true

Чи є хоч один admin 

const userPrivileges = ['user', 'user', 'user', 'admin'];
const containsAdmin = userPrivileges.some( element => element === 'admin');
// containsAdmin = true




reduce/reduceRight - пробігти та вирахувати значення

const numbers = [5, 10, 15];
const total = numbers.reduce( (sum, cur) => sum + cur);
// total = 30




find - знайти

let obj = objArray.find(obj => obj.id == 3);