You are currently viewing Многомерный массив в JavaScript

Многомерный массив в JavaScript

Многомерные массивы напрямую не предоставляются в JavaScript. Если мы хотим использовать что-либо, что действует как многомерный массив, нам нужно создать многомерный массив, используя другой одномерный массив. Таким образом, многомерные массивы в JavaScript известны как массивы внутри другого массива. Нам нужно поместить несколько массивов в массив, тогда все будет работать как многомерный массив. Массив, в который будут вставлены другие массивы, этот массив используется в нашем коде в качестве многомерного массива. Определение многомерного массива в точности совпадает с определением обычного одномерного массива.

Одномерный массив:

var arr = []; // Пустой 1D массив
var arr1 = ["A", "B", "C", "D"] // 1D массив содержит несколько алфавитов
var arr1 = [1, 2, 3, 4, 5] // Массив 1D содержит несколько цифр

Многомерный массив:

Способ 1:

1-й, нужно определить некоторый 1D массив
var arr1 = ["ABC", 24, 18000];
var arr2 = ["EFG", 30, 30000];
var arr3 = ["IJK", 28, 41000];
var arr4 = ["EFG", 31, 28000];
var arr5 = ["EFG", 29, 35000];
// "зарплата" определяется как массив 1D, но он уже содержит некоторый массив 1D
var зарплата = [arr1, arr2, arr3, arr4, arr5]; 

Здесь arr1, arr2, …arr5 — это некоторые массивы 1D, которые находятся внутри массива.

Способ 2:

var salary = [
 ["ABC", 24, 18000],
 ["EFG", 30, 30000],
 ["IJK", 28, 41000],
 ["EFG", 31, 28000],
];

Здесь, массив зарплат работает как многомерный массив. Эти обозначения известны как литералы массива.

Доступ к элементу массива зарплат:

  • Для доступа к элементу массива нам нужна простая нотация на основе индекса
// Эта запись имеет доступ к зарплате сотрудника "ABC", которая составляет 18000, 
/ / [0] выбирает 1-ю строку, а [2] выбирает 3-й элемент 
// из той 1-й строки, которая составляет 18000 зарплат[0][2]; 
// Аналогично, зарплата[3][2]; 
// Выбирает 28000 **Это обозначение используется как для Способ 1 и Способ 2.
  • Для многих итераций нам нужно использовать цикл для доступа к элементам,
// Этот цикл предназначен для внешнего массива для (var i = 0, l1 = salary.length; i < l1; i++) { // Этот цикл предназначен для внутренних массивов для (var j = 0, l2 = salary[i].length; j < l2; j++) { // Доступ к каждому элементу документов внутреннего массива documents.write( salary[i][j] ); } }

Добавление элементов в Многомерный массив: Добавление элементов в многомерные массивы может быть достигнуто двумя способами: внутренняя антенная решетка или внешняя антенная решетка. Внутренний массив может быть выполнен двумя различными способами.

  • Добавление элементов во внутренний массив:
    • Мы можем использовать простые квадратный кронштейн обозначение для добавления элементов в многомерный массив.
salary[3][3] = "India"; 
// It adds "India" at the 4th index of 4th sub-array, 
// If we print the entire 4th sub-array, document.write(salary[3]);
// the output will be : ["EFG", 31, 28000, "India"] 
// indexing starts from 0
  • Мы можем использовать push() метод добавления элементов в массив.
salary[3].push("India", "Mumbai"); 
// It add "India" at the 4th index and "Mumbai" at 
// 5th index of 4th sub-array 
// If we print the entire 4th sub-array, 
// document.write(salary[3]);
// The output will be : ["EFG", 31, 28000, "India", "Mumbai"] // Indexing starts from 0
  • Добавление элементов во внешний массив: Это очень похоже на предыдущие методы.
salary.push(["MNO", 29, 33300]); 
// This row added after the last row in the "salary" array

Удаление элементов в многомерном массиве: Мы можем использовать pop() методы удаления элементов из внутренних массивов, а также использование pop() способ удаления всего внутреннего массива.

// Remove last element from 4th sub-array 
// That is 28000 indexing starts from 0 salary[3].pop(); 
// Removes last sub-array 
// That is "["EFG", 31, 28000]" salary.pop(); 

Пример 1:

// Prints a simple multidimensional array in JavaScript
<script>
var arr1 = ["ABC", 24, 18000];
var arr2 = ["EFG", 30, 30000];
var arr3 = ["IJK", 28, 41000];
var arr4 = ["EFG", 31, 28000];
var arr5 = ["EFG", 29, 35000];
var salary = [arr1, arr2, arr3, arr4, arr5];
for(var i = 0; i < salary.length; i++) {
	document.write(salary[i] + "<br>");
}
</script>

Выход:

ABC, 24, 18000 EFG, 30, 30000 IJK, 28, 41000 EFG, 31, 28000 EFG, 29, 35000

Пример 2:

// Prints a simple multidimensional array in
// JavaScript with different declaration
<script>
var salary = [
["ABC", 24, 18000],
["EFG", 30, 30000],
["IJK", 28, 41000],
["EFG", 31, 28000],
];
for(var i = 0; i < salary.length; i++) {
	document.write(salary[i] + "<br>");
}
</script>

Выход:

АВС, 24, 18000 EFG, 30, 30000 IJK, 28, 41000 EFG, 31, 28000 EFG, 29, 35000

Пример 3:

// Prints a simple multidimensional array in JavaScript
// where we just print the salary of a specific person
<script>
var salary = [
["ABC", 24, 18000],
["EFG", 30, 30000],
["IJK", 28, 41000],
["EFG", 31, 28000],
];
document.write("salary of 2nd person : " + salary[1][2] + "<br>");
document.write("salary of 4th person : " + salary[3][2] + "<br>");
</script>					

Выход:

salary of 2nd person : 30000 salary of 4th person : 28000

Пример 4:

// Prints a simple multidimensional array in
// JavaScript where we add elements in the array
// using simple square bracket and push() method
<script>
var salary = [
["ABC", 24, 18000],
["EFG", 30, 30000],
["IJK", 28, 41000],
["EFG", 31, 28000],
];

// Prints first array
document.write("Original array :<br>");
for(var i = 0; i < salary.length; i++) {
	document.write(salary[i] + "<br>");
}

// Adding "India" at the 4th index of 4th sub array
salary[3][3] = "India";

document.write("<br>after adding \"India\" at the 4th array :<br>");
for(var i = 0; i < salary.length; i++) {
	document.write(salary[i] + "<br>");
}

document.write("<br>after adding \"USA\" and \"Canada\" "
	+ "at the 3rd array using \"push()\" method :<br>");
salary[2].push("USA", "Canada");

// Adding "USA" and "Canada" in the 2nd sub-array
for(var i = 0; i < salary.length; i++) {
	document.write(salary[i] + "<br>");
}
</script>

Выход:

Original array : ABC, 24, 18000 EFG, 30, 30000 IJK, 28, 41000 EFG, 31, 28000 after adding "India" at the 4th array : ABC, 24, 18000 EFG, 30, 30000 IJK, 28, 41000 EFG, 31, 28000, India after adding "USA" and "Canada" at the 3rd array using "push()" method : ABC, 24, 18000 EFG, 30, 30000
IJK, 28, 41000, USA, Canada EFG, 31, 28000, India

Пример 5:

// Prints a simple multidimensional array in
// JavaScript where we add a new inner array
<script>
var salary = [
["ABC", 24, 18000],
["EFG", 30, 30000],
["IJK", 28, 41000],
["EFG", 31, 28000],
];

// Prints first array
document.write("Original array :<br>");

for(var i = 0; i < salary.length; i++) {
	document.write(salary[i] + "<br>");
}

document.write("<br>After adding a new inner array :<br>");

// Pushing a new sub-array
salary.push(["MNO", 29, 33300]);

for(var i = 0; i < salary.length; i++) {
	document.write(salary[i] + "<br>");
}
</script>

Выход:

Original array : ABC, 24, 18000 EFG, 30, 30000 IJK, 28, 41000 EFG, 31, 28000 After adding a new inner array : ABC, 24, 18000 EFG, 30, 30000 IJK, 28, 41000 EFG, 31, 28000 MNO, 29, 33300

Пример 6:

// Prints a simple multidimensional array in
// JavaScript where we remove a single element
//and a entire sub-array
<script>
var salary = [
["ABC", 24, 18000],
["EFG", 30, 30000],
["IJK", 28, 41000],
["EFG", 31, 28000],
];

// Prints first array
document.write("Original array :<br>");

for(var i = 0; i < salary.length; i++) {
	document.write(salary[i] + "<br>");
}

document.write("<br>After removing last element "
			+ "of last inner array :<br>");

// Removes the last element of 3rd sub-array
salary[3].pop();

for(var i = 0; i < salary.length; i++) {
	document.write(salary[i] + "<br>");
}

document.write("<br>After removing last inner array :<br>");

// Removes last sub-array
salary.pop();

for(var i = 0; i < salary.length; i++) {
	document.write(salary[i] + "<br>");
}
</script>

Выход:

Original array : ABC, 24, 18000 EFG, 30, 30000 IJK, 28, 41000 EFG, 31, 28000 After removing last element of last inner array : ABC, 24, 18000 EFG, 30, 30000
IJK, 28, 41000 EFG, 31 After removing last inner array : ABC, 24, 18000 EFG, 30, 30000 IJK, 28, 41000