[ Web Proxy ]
URL:
Viewing: https://developer.mozilla.org/ru/docs/Web/JavaScript/Guide/Indexed_collections [Back]  [Original]

- JavaScript | MDN

This page was translated from English by the community. Learn more and join the MDN Web Docs community.

View in English Always switch to English

- , . , Array TypedArray.

In this article

Array

, . , emp, . , emp[1] , emp[2] , ..

JavaScript "". , Array . Array , , , . , .

:

js
var arr = new Array(element0, element1, ..., elementN);
var arr = Array(element0, element1, ..., elementN);
var arr = [element0, element1, ..., elementN];

element0, element1, ..., elementN - . , . length .

" " (array literal) " ". , , , , . . Array literals.

, , :

js
var arr = new Array(arrayLength);
var arr = Array(arrayLength);

//    
var arr = [];
arr.length = arrayLength;

: arrayLength Number. ( ). arr.length arrayLength, (undefined). for...in .

, :

js
var obj = {};
// ...
obj.prop = [element0, element1, ..., elementN];

// OR
var obj = {prop: [element0, element1, ...., elementN]}

Number, . Array ( ), Number, (arrayLength), Number.

js
var arr = [42]; //      
var arr = Array(42); //    ,
//     arr.length  42

//   
var arr = [];
arr.length = 42;

Array(N) RangeError, N , . .

js
var arr = Array(9.3); // RangeError: Invalid array length

, . , .

. :

js
var emp = [];
emp[0] = "Casey Jones";
emp[1] = "Phil Lesh";
emp[2] = "August West";

: [] , , , ( JavaScript ).

js
var arr = [];
arr[3.4] = "Oranges";
console.log(arr.length); // 0
console.log(arr.hasOwnProperty(3.4)); // true

:

js
var myArray = new Array("Hello", myVar, 3.14159);
var myArray = ["Mango", "Apple", "Orange"];

. , , :

js
var myArray = ["Wind", "Rain", "Fire"];

myArray[0] myArray[1]. .

: ( []) ( JavaScript). :

js
var arr = ["one", "two", "three"];
arr[2]; // three
arr["length"]; //   3,     -  

length

, JavaScript , . length ( , 'Dusty' 30, cats.length 30 + 1). , JavaScript : 0, 1. , length , :

js
var cats = [];
cats[30] = ["Dusty"];
console.log(cats.length); // 31

, length. , , ; length 0 :

js
var cats = ["Dusty", "Misty", "Twiggy"];
console.log(cats.length); // 3

cats.length = 2;
console.log(cats); //    "Dusty,Misty" -  "Twiggy"  

cats.length = 0;
console.log(cats); //   ;  cats 

cats.length = 3;
console.log(cats); //  [undefined, undefined, undefined]

- . :

js
var colors = ["red", "green", "blue"];
for (var i = 0; i < colors.length; i++) {
  console.log(colors[i]);
}

, false boolean , DOM , :

js
var divs = document.getElementsByTagName("div");
for (var i = 0, div; (div = divs[i]); i++) {
  /*  div   */
}

, , , div .

forEach() :

js
var colors = ["red", "green", "blue"];
colors.forEach(function (color) {
  console.log(color);
});

, , ES6:

js
var colors = ["red", "green", "blue"];
colors.forEach((color) => console.log(color));
// red
// green
// blue

, forEach, , . , , forEach .

, , forEach, , undefined , :

js
var array = ["first", "second", , "fourth"];

array.forEach(function (element) {
  console.log(element);
});
// first
// second
// fourth

if (array[2] === undefined) {
  console.log("array[2] is undefined"); // true
}

array = ["first", "second", undefined, "fourth"];

array.forEach(function (element) {
  console.log(element);
});
// first
// second
// undefined
// fourth

JavaScript , for...in , , .

Array

Array :

concat() .

var myArray = new Array("1", "2", "3");
myArray = myArray.concat("a", "b", "c");
// myArray = ["1", "2", "3", "a", "b", "c"]

join(deliminator = ',') .

var myArray = new Array("Wind", "Rain", "Fire");
var list = myArray.join(" - "); // list = "Wind - Rain - Fire"

push() .

var myArray = new Array("1", "2");
myArray.push("3"); // myArray =["1", "2", "3"]

pop() .

var myArray = new Array("1", "2", "3");
var last = myArray.pop();
// myArray =["1", "2"], last = "3"

shift() .

var myArray = new Array ("1", "2", "3");
var first = myArray.shift();
// myArray = ["2", "3"], first = "1"

unshift() .

js
var myArray = new Array("1", "2", "3");
myArray.unshift("4", "5");
// myArray becomes ["4", "5", "1", "2", "3"]

slice(start_index, upto_index) .

js
var myArray = new Array("a", "b", "c", "d", "e");
myArray = myArray.slice(1, 4); //    1      3
// myArray = [ "b", "c", "d"]

splice(index, count_to_remove, addElement1, addElement2, ...) () . .

js
var myArray = new Array("1", "2", "3", "4", "5");
myArray.splice(1, 3, "a", "b", "c", "d");
// myArray = ["1", "a", "b", "c", "d", "5"]
//  ,      1 (    "2"),
//  3 ,     
// ,     .

reverse() : , - .

js
var myArray = new Array("1", "2", "3");
myArray.reverse();
//   myArray = [ "3", "2", "1" ]

sort() .

js
var myArray = new Array("Wind", "Rain", "Fire");
myArray.sort();
//   myArray = [ "Fire", "Rain", "Wind" ]

sort() callback-, . , ( ):

. :

js
var sortFn = function (a, b) {
  if (a[a.length - 1] < b[b.length - 1]) return -1;
  if (a[a.length - 1] > b[b.length - 1]) return 1;
  if (a[a.length - 1] == b[b.length - 1]) return 0;
};
myArray.sort(sortFn);
//   myArray = ["Wind","Fire","Rain"]
  • a b , -1 ( )
  • a b , 1 ( )
  • a b , 0.

indexOf(searchElement[, fromIndex]) searchElement .

js
var a = ["a", "b", "a", "b", "a"];
console.log(a.indexOf("b")); //  1
//   ,     
console.log(a.indexOf("b", 2)); //  3
console.log(a.indexOf("z")); //  -1,   'z'  

lastIndexOf(searchElement[, fromIndex]) , indexOf, , .

js
var a = ["a", "b", "c", "d", "a", "b"];
console.log(a.lastIndexOf("b")); //  5
//   ,   ,    
console.log(a.lastIndexOf("b", 4)); //  1
console.log(a.lastIndexOf("z")); //  -1

forEach(callback[, thisObject]) callback- .

js
var a = ["a", "b", "c"];
a.forEach(function (element) {
  console.log(element);
});
//        

map(callback[, thisObject]) , callback- .

js
var a1 = ["a", "b", "c"];
var a2 = a1.map(function (item) {
  return item.toUpperCase();
});
console.log(a2); //  A,B,C

filter(callback[, thisObject]) , , callback- true.

js
var a1 = ["a", 10, "b", 20, "c", 30];
var a2 = a1.filter(function (item) {
  return typeof item == "number";
});
console.log(a2); //  10,20,30

every(callback[, thisObject]) true, callback- true .

js
function isNumber(value) {
  return typeof value == "number";
}
var a1 = [1, 2, 3];
console.log(a1.every(isNumber)); //  true
var a2 = [1, "2", 3];
console.log(a2.every(isNumber)); //  false

some(callback[, thisObject]) true, callback- true .

js
function isNumber(value) {
  return typeof value == "number";
}
var a1 = [1, 2, 3];
console.log(a1.some(isNumber)); //  true
var a2 = [1, "2", 3];
console.log(a2.some(isNumber)); //  true
var a3 = ["1", "2", "3"];
console.log(a3.some(isNumber)); //  false

, callback- , (iterative methods), . , , thisObject. , this callback-. , , this (window).

callback- . - , - , - . , JavaScript, , . , , alert.

reduce(callback[, initialValue]) callback- callback(firstValue, secondValue) , . , - . .

js
var a = [10, 20, 30];
var total = a.reduce(function (first, second, index) {
  return first + second;
}, 0);
console.log(total); //  60

reduceRight(callback[, initalvalue]) reduce(), .

reduce reduceRight Array. , , .

, . JavaScript, .

:

js
var a = new Array(4);
for (i = 0; i < 4; i++) {
  a[i] = new Array(4);
  for (j = 0; j < 4; j++) {
    a[i][j] = "[" + i + "," + j + "]";
  }
}

:

 0: [0,0] [0,1] [0,2] [0,3]
 1: [1,0] [1,1] [1,2] [1,3]
 2: [2,0] [2,1] [2,2] [2,3]
 3: [3,0] [3,1] [3,2] [3,3]

, . RegExp.exec(), String.match() String.split() , Regular Expressions.

JavaScript, NodeList, document.getElementsByTagName(), arguments, , , . , arguments length, forEach().

Array, . :

function printArguments() {
  Array.prototype.forEach.call(arguments, function(item) {
    console.log(item);
  });
}

Array , :

js
Array.prototype.forEach.call("a string", function (chr) {
  console.log(chr);
});

JavaScript typed arrays ( ) , . , Array , JavaScript. JavaScript , , . , , , WebSockets, . , JavaScript . .

:

, JavaScript . (ArrayBuffer) , ; . . , , , .

Typed arrays in an ArrayBuffer [Typed arrays in an ArrayBuffer]

ArrayBuffer

ArrayBuffer . ArrayBuffer . DataView, , .

. , Int8, Uint32, Float64 . Uint8ClampedArray. 0 255. , , Canvas.

JavaScript TypedArray.


Web Proxy Viewer  |  New URL  |  Original Page