Array.length
)array[3]
let a = array[3]
// Массив хранящий цифры
var numbers = [1, 2, 3, 4, 5];
// Массив хранящий строки
var weekDays = ['Понедельник', 'Вторник', 'Среда',
'Четверг', 'Пятница', 'Суббота', 'Воскресенье']
// Массив хранящий различные типы
var mixedArr = [1, new Date(), 'привет'];
// Массив массивов (матрица)
var matrix = [
['0,0', '0,1', '0,2'],
['1,0', '1,1', '1,2'],
['2,0', '2,1', '2,2']];
Проинициализировать массив в JavaScript можно тремя способами:
Используя new Array(elements)
:
var arr = new Array(1, 2, 3, 4, 5);
Используя new Array(initialLength)
:
var arr = new Array(10);
Используя литерал массив
(рекомендуется):
var arr = [1, 2, 3, 4, 5];
In [1]:
var arr,
arr2,
weekDays,
mixedArr;
arr = new Array(1, 2, 3, 4, 5);
console.log('arr = ' + arr.join(', '));
arr2 = new Array(10);
console.log('arr2 = ' + arr2.join(', '));
console.log('arr2[2] = ' + arr2[2]);
weekDays = ['Понедельник', 'Вторник', 'Среда','Четверг', 'Пятница', 'Суббота', 'Воскресенье']
console.log('weekDays = ' + weekDays.join(', '));
mixedArr = [1, new Date(), 'hello'];
console.log('mixedArr = ' + mixedArr.join(', '));
Out[1]:
In [2]:
var array,
length,
reversed,
index;
array = [1, 2, 3, 4, 5];
// Get array size
length = array.length;
// Declare and create the reversed array
reversed = new Array(length);
// Initialize the reversed array
for (index = 0; index < length; index++) {
reversed[length - index - 1] = array[index];
}
console.log('array = [' + array.join(', ') + ']');
console.log('reversed = [' + reversed.join(', ') + ']');
Out[2]:
[]
(квадратные скобки)[0; length-1]
0
length-1
[]
(индексный оператор)
In [2]:
var i,
capitals = ['Sofia', 'Washington', 'London', 'Paris'];
for (i in capitals) {
console.log(capitals[i]);
}
Out[2]:
for
for
для прохода по массиву, если Вам надо контролировать доступ к членам массиваarray[index]
):var i, len;
for (i = 0, len = array.length; i < len; i += 1) {
squares[i] = array[i] * array[i];
}
var arr, i, len;
arr = [1, 2, 3, 4, 5];
for (len = arr.length, i = len - 1; i >= 0; i -= 1) {
console.log(arr[i]);
}
// Результат: 5 4 3 2 1
var i, len
for (i = 0, len = array.length; i < len; i += 1) {
array[i] = i;
}
for-in
for-in
?index
интерация происходит по индексам всего массиваvar index;
for (index in array) {
// ваш код
}
var capitals, i;
capitals = [
'Sofia',
'Washington',
'London',
'Paris'
];
for (i in capitals) {
console.log(capitals[i]);
}
Все массивы в JavaScript являются динамическими
Array#push(element)
Array#pop()
Array#unshift(element)
Array#shift()
In [3]:
var tail,
head,
numbers = [1, 2, 3, 4, 5];
console.log(numbers.join('|')); // result: 1|2|3|4|5
tail = numbers.pop(); // tail = 5;
console.log('Удалить: ' + tail);
console.log(numbers.join('|')); // result: 1|2|3|4
numbers.unshift(0);
console.log('Добавить 0 в начало массива (голову)');
console.log(numbers.join('|')); // result: 0|1|2|3|4
head = numbers.shift(); // head=0;
console.log('Удалить: ' + head);
console.log(numbers.join('|')); // result: 1|2|3|4
Out[3]:
In [4]:
var numbers = [5, 4, 23, 2];
function orderBy(a, b) {
//return (a == b) ? 0 : (a > b) ? 1 : -1;
return a - b;
};
numbers.sort();
console.log(numbers.join(', '));
numbers.sort(orderBy);
console.log(numbers.join(', '));
//returns 2, 4, 5, 23
Out[4]:
Array#reverse()
var items = [1, 2, 3, 4, 5, 6];
var reversed = items.reverse();
//reversed = [6, 5, 4, 3, 2, 1]
Array#join(separator)
var names = ["John", "Jane", "George", "Helen"];
var namesString = names.join(", ");
//namesString = "John, Jane, George, Helen"
arr1.concat(arr2)
arr2
в конец массива arr1
arr1
и arr2
остаются неизмененными!var arr1 = [1, 2, 3];
var arr2 = ["one", "two", "three"];
var result = arr1.concat(arr2);
//result = [1, 2, 3, "one", "two", "three"]
Добавление элементов одного массива к другому массиву
var arr1 = [1, 2, 3];
var arr2 = ["one", "two", "three"];
[].push.apply(arr1, arr2);
//arr1 = [1, 2, 3, "one", "two", "three"]
Array#slice(fromIndex [, toIndex])
fromIndex
до to
(исключая toIndex
)var items = [1, 2, 3, 4, 5];
var part = items.slice(1, 3);
//part = [2, 3]
var clonedItems = items.slice();
Array#splice(index, count, elements)
count
элементов, начиная с index
позицииelements
с позиции index
var numbers = [1, 2, 3, 4, 5, 6, 7];
var result = numbers.splice(3, 2, "four", "five", "five.five");
//result = [4, 5]
//numbers = [1, 2, 3, "four", "five", "five.five", 6, 7];
Удаление элементов по индексу из массива:
//удалить один элемент с позиции `index`
items.splice(index, 1);
//удаляет count элементов начиная с позиции index
items.splice(index, count);
Добавить элемент по индексу в массив:
//Добавляет один элементт в позицию index
items.splice(index, 0, element);
//добавляет несколько элементов начиная с позиции index
items.splice(index, 0, item1, item2, item3);
Array#indexOf(element [, rightOf])
-1
если элемент не найденArray#lastIndexOf(element, [leftOf])
-1
если элемент не найденArray#indexOf()
и Array#lastIndexOf()
работают в большинстве браузеров
In [5]:
var reversed,
numbers2,
allNumbers,
deleted,
i,
even,
numbers = [5, 4, 23, 2];
reversed = numbers.reverse();
console.log('[5, 4, 23, 2].reverse()');
reversed.forEach(function (item) {
process.stdout.write(item + ", ");
});
Out[5]:
In [6]:
numbers2 = [1, 2, 3, 4, 5, 6];
console.log('[5, 4, 23, 2].concat([1, 2, 3, 4, 5, 6]):');
allNumbers = numbers.concat(numbers2);
allNumbers.forEach(function (item) {
process.stdout.write(item + ", ");
});
console.log('numbers: ' + numbers);
deleted = numbers.splice(0, 2, 'one', 'two', 'three');
console.log('Удалить после [5, 4, 23, 2].splice(0, 2, "one", "two", "three"): ');
console.log('Элементы удалены: ' + deleted.join(', '));
console.log('Чисел после: ' + numbers.join(', '));
Out[6]:
In [7]:
allNumbers = new Array();
for (i = 0; i < 20; i++) {
allNumbers.push(i);
}
even = allNumbers.filter(function (item) {
return item % 2 == 0;
});
console.log('После [1, 2, ...., 18, 19].filter(item%2==0):');
console.log(even.join(', '));
Out[7]:
In [ ]: