let arr = ["Mercedes-Benz", "Tesla", "BMW"]
let c = [5, 3, 2, 4] // c[0] = 5
let numbers = ["Андрій", 2, 3.14, "A"];
let numbers = [1, 2, 3, 4];
console.log(...numbers); // 1 2 3 4
console.log(numbers); // [1, 2, 3, 4]
Двовимірний
let numbers = [[0, 2, 4], [1, 3, 5] ] // numbers[1][1] = 3
let m = 4, n = 4;
let mas = [];
for (let i = 0; i < m; i++)
{
mas[i] = [];
for (let j = 0; j < n; j++)
{
mas[i][j] = 0;
}
}
let people = [
["Олександр", 15, false],
["Дмитро", 20, true],
["Тарас", 30, true]
]
people[1] // Дмитро,20,true
people[1][0] // Дмитро
Тривимірний
var numbers = []
numbers[0] = []
numbers[0][0]=[]
numbers[0][0][0] = 3
Властивості
arr.length - кількість елементів
arr.constructor - якщо це масив: function Array() { [native code] }, або Number чи String
Додаємо нові властивості та методи в масив
Array.prototype.velykiBukvy = function() {
for (let i = 0; i < this.length; i++) { this[i] = this[i].toUpperCase() }
}
arr.velykiBukvy() // MERCEDES-BENZ, VOLVO, BMW
Рядок перетворити в масив
let arr = str.split('');
Масив перетворити в рядок
let str = arr.join('');
Методи
var arr = txt.split(",") - розбити текст на масив рядків
var arr = arr.concat(arr2) - об'єднати
arr.pop() - видаляє останній елемент
arr.push("7") - вставляє в кінець; повертає нову довжину
arr.push("8", "9")
arr.shift() - видаляє [0] елемент; повертає значення що видаляється
arr.unshift("1") - вставляє на початок; повертає нову довжину
arr = arr.slice(0, 3) - залишити [0], [1], [2]; (початок, кінець) останній елемент не включно
arr.join() - об'єднує елементи масиву в рядок: Mercedes-Benz, Tesla, BMW
arr.join(" * ") // 2 * 3 * 4 * 7
delete arr[1] - не видаляє комірку; затирає значення; краще pop() чи shift()
arr.valueOf() - повертає копію масиву без зміни оригіналу
var a = [2, 4, 6, 4]
a.indexOf(4) // 1
a.indexOf(4, 3) // 3
a.indexOf(10) // -1
a.lastIndexOf(2) // 0, пошук з права наліво
Math.max.apply(null, a) // 6
Math.min.apply(null, a) // 2
var b = ["c", "a", "b", "d"]
b.sort()
b.reverse()
var c = [20, 3, 100, 0]
c.sort()
c.sort(function(a, b){return a-b})
function(a, b){return a.year - b.year}
b = [4, 2, 3, 1] -> 1,2,3,4
a,b,c,d а,б,в,г
d,b,a,c
0,100,20,3
0,3,20,100
function compare( a, b ) { if ( a.name < b.name ){ return -1; } if ( a.name > b.name ){ return 1; } return 0; }
Array.isArray(arr) - true
arr.toString() - конвертувати в рядок
entries
var numbers = [1, 2, 3, 4, 5, 6, 7]
var f = numbers.entries()
for (x of f) {
console.log(x);
}
// [0, 1]
// [1, 2]
// [2, 3]
// [3, 4]
// [4, 5]
// [5, 6]
// [6, 7]
from - перетворити радок на масив
var myArr = Array.from("ABCD");
// [A,B,C,D]
fill - заповнити
var numbers = [1, 2, 3, 4, 5, 6, 7]
numbers.fill(7)
console.log(numbers); // [7, 7, 7, 7, 7, 7, 7]
keys - новий масив з цифрами
var users = ['user', 'user', 'user', 'admin']
for (x of n) {
console.log(x)
}
// 0 1 2 3
forEach - перебрати
item - поточний елемент
i - номер (не обов'язково)
arr - масив (не обов'язково)
| var fruits = [ "яблуко" , "груша" , "лимон" ] fruits.forEach(F) function F(item, index) { document.getElementById( "demo" ).innerHTML += index + ": " + item + "<br>" } // якщо значення нема - пропускається |
|
var arr = [ "яблуко" , "груша" , "лимон" ] arr . forEach ( function (item, i, arr ) { |
| var emotions = [ 'happy' , 'sad' , 'angry' ] emotions. forEach ( emotion => console .log(emotion) ) |
| var numbers = [1, 2, 3, 4] function F(item, index, arr) { arr[index] = item * 10 } numbers. forEach (F) |
filter - для фільтрації
item - поточний елемент
i - номер (не обов'язково)
arr - масив(не обов'язково)
var ages = [14, 16, 18, 20, 22]
function checkAdult(age) {
return age >= 18;
}
ages.filter(checkAdult) // 18,20,22
// якщо значення нема - пропускається
var numbers = [2, 5, 1, -1, 0, 6, 7, 8, 9, -4]
var even = numbers.filter(n => n % 2 == 0)
// 2, 0, 6, 8, -4
students.filter(student => student.subject == 'math' && student.score >= 70)
map - для трансформації
var numbers = [4, 9, 16, 25]
numbers.map(Math.sqrt) // 2,3,4,5
objArray = [
{ Name: 'Andriy', Price: 2},
{ Name: 'Zahar', Price: 4},
{ Name: 'Vasil', Price: 6} ]
var result = objArray.map(a => a.Price) // 2,4,6
Або:
var result = objArray.map(({ Price }) => Price)
var result = objArray.map(function(a) {return a.Price})
// якщо значення нема - пропускається
var persons = [
{firstname : "Andriy", lastname: "Reynolds"},
{firstname : "Zahar", lastname: "Frye"},
{firstname : "Vasil", lastname: "Cobb"}
]
function getFullName(item) {
var fullname = [item.firstname,item.lastname].join(" ")
return fullname;
}
persons.map(getFullName) // Andriy Reynolds,Zahar Frye,Vasil Cobb
every/some - перевірити наявність
item - поточний елемент
i - номер (не обов'язково)
arr - масив(не обов'язково)
| var ages = [18, 16, 30, 35] function checkAdult(age) { return age >= 18; } ages. every (checkAdult); |
| Чи всі цифри >= 3 const ratings = [3, 5, 4, 3, 5]; const goodOverallRating = ratings. every ( rating => rating >= 3 ); // true |
| Чи всі поля однакові var survey = [ { name: "Andriy" , answer: "Yes" }, { name: "Zahar" , answer: "Yes" }, { name: "Peter" , answer: "Yes" }, { name: "Vasil" , answer: "No" } ]; function isSameAnswer(el, index, arr) { if (index === 0){ return true } else { return (el.answer === arr[index - 1].answer) } } survey. every (isSameAnswer) // false |
| var ages = [3, 10, 18, 20] function checkAdult(age) { return age >= 18; } ages. some (checkAdult) // true |
| Чи є хоч один admin const userPrivileges = [ 'user' , 'user' , 'user' , 'admin' ] const containsAdmin = userPrivileges. some ( element => element === 'admin' ) // true |