[ Web Proxy ]
URL:
Viewing: https://learn.javascript.ru/array [Back]  [Original]

:
DanskEnglishEspaolFranaisIndonesiaItalianoTrkeOzbek
18 2023 .

. .

, , 1-, 2-, 3- .. , -: , , HTML ..

, . . .

, , Array.

:

let arr = new Array();
let arr = [];

. :

let fruits = ["", "", ""];

, .

, :

let fruits = ["", "", ""];

alert( fruits[0] ); // 
alert( fruits[1] ); // 
alert( fruits[2] ); // 

:

fruits[2] = ''; //  ["", "", ""]

:

fruits[3] = ''; //  ["", "", "", ""]

length:

let fruits = ["", "", ""];

alert( fruits.length ); // 3

alert.

let fruits = ["", "", ""];

alert( fruits ); // , , 

.

:

//   
let arr = [ '', { name: '' }, true, function() { alert(''); } ];

//     1 ()     
alert( arr[1].name ); // 

//     3 ()   
arr[3](); // 

, , :

let fruits = [
  "",
  "",
  "",
];

/ , .

at

. .

, .

, - : fruits[-1].

, JavaScript . undefined, .

, : fruits[fruits.length - 1].

let fruits = ["Apple", "Orange", "Plum"];
alert( fruits[fruits.length-1] ); // Plum

, ? .

, : fruits.at(-1):

let fruits = ["Apple", "Orange", "Plum"];
//   ,   fruits[fruits.length-1]
alert( fruits.at(-1) ); // Plum

, arr.at(i):

  • , arr[i], i >= 0.
  • i, .

pop/push, shift/unshift

. , :

  • push .
  • shift , , .
[]

.

. , , .

, .

:

  • push .
  • pop .

, .

: :

[]

JavaScript , . / , .

, , .

, :

pop

:

let fruits = ["", "", ""];

alert( fruits.pop() ); //  ""   

alert( fruits ); // , 

fruits.pop() fruits.at(-1) , fruits.pop() , .

push

:

let fruits = ["", ""];

fruits.push("");

alert( fruits ); // , , 

fruits.push(...) fruits[fruits.length] = ....

, :

shift

:

let fruits = ["", "", ""];

alert( fruits.shift() ); //     

alert( fruits ); // , 
unshift

:

let fruits = ["", ""];

fruits.unshift('');

alert( fruits ); // , , 

push unshift :

let fruits = [""];

fruits.push("", "");
fruits.unshift("", "");

// ["", "", "", "", ""]
alert( fruits );

. , , arr[0] , obj[key], obj arr, .

, , length. .

, JavaScript 8 . , , .

, :

let fruits = [""]

let arr = fruits; //    (        )

alert( arr === fruits ); // true

arr.push(""); //    

alert( fruits ); // ,  -   

, . JavaScript , , , . , .

, .

, :

let fruits = []; //  

fruits[99999] = 5; //    ,    

fruits.age = 25; //     

, . .

, , . , , , .

:

  • , : arr.test = 5.
  • , : arr[0], arr[1000] ( ).
  • , : arr[1000], arr[999] ..

, . . JavaScript , , , . , , {}.

push/pop , shift/unshift .

[]

, ? , :

fruits.shift(); //     

0 . .

shift 3 :

  1. 0.
  2. , , 1 0, 2 1 ..
  3. length .
[]

, , , .

unshift: , , .

push/pop? . , pop length.

pop:

fruits.pop(); //     
[]

pop , . .

push.

for :

let arr = ["", "", ""];

for (let i = 0; i < arr.length; i++) {
  alert( arr[i] );
}

, for..of:

let fruits = ["", "", ""];

//   
for (let fruit of fruits) {
  alert( fruit );
}

for..of , , . .

, , for..in:

let arr = ["", "", ""];

for (let key in arr) {
  alert( arr[key] ); // , , 
}

. :

  1. for..in , .

    , , . , length , , . , for..in . , , , .

  2. for..in , , 10-100 . . .

, for..in .

length

length . , , .

, , , :

let fruits = [];
fruits[123] = "";

alert( fruits.length ); // 124

, .

length .

, . , , . , :

let arr = [1, 2, 3, 4, 5];

arr.length = 2; //    
alert( arr ); // [1, 2]

arr.length = 5; //  length  
alert( arr[3] ); // undefined:   

, arr.length = 0;.

new Array()

:

let arr = new Array("", "", " ");

, [] . , .

new Array , , , .

, :

let arr = new Array(2); //    [2]?

alert( arr[0] ); // undefined!  .

alert( arr.length ); // length 2

, , , new Array(number) undefined.

, , , , , - Array.

, . , , :

let matrix = [
  [1, 2, 3],
  [4, 5, 6],
  [7, 8, 9]
];

alert( matrix[1][1] ); // 5,  

toString

- toString, , .

:

let arr = [1, 2, 3];

alert( arr ); // 1,2,3
alert( String(arr) === '1,2,3' ); // true

:

alert( [] + 1 ); // "1"
alert( [1] + 1 ); // "11"
alert( [1,2] + 1 ); // "1,21"

Symbol.toPrimitive, valueOf, toString, , [] , [1] "1", [1,2] "1,2".

"+" - , , :

alert( "" + 1 ); // "1"
alert( "1" + 1 ); // "11"
alert( "1,2" + 1 ); // "1,21"

==

JavaScript, , ==.

, , .

:

  • == , .
  • == , , , .
  • null undefined, == .

=== , .

, ==, , ,

:

alert( [] == [] ); // false
alert( [0] == [0] ); // false

. . == .

, , :

alert( 0 == [] ); // true

alert('0' == [] ); // false

, , . , [] ''.

, :

//  ,  []    ''
alert( 0 == '' ); // true,   ''    0

alert('0' == '' ); // false,   ,  

?

: ==. , .

, .

:

//   ()
let arr = [item1, item2...];

// new Array ( )
let arr = new Array(item1, item2...);

new Array(number) , .

  • length , , . .
  • length , .

:

  • , arr[0].
  • at(i) , i, . , arr[i], i >= 0.

, :

  • push(...items) items .
  • pop() .
  • shift() .
  • unshift(...items) items .

:

  • for (let i=0; i<arr.length; i++) , .
  • for (let item of arr) ( ).
  • for (let i in arr) !

, , : .

: 3

?

let fruits = ["", "", ""];

//     ""
let shoppingCart = fruits;
shoppingCart.push("");

//   fruits?
alert( fruits.length ); // ?

4:

let fruits = ["", "", ""];

let shoppingCart = fruits;

shoppingCart.push("");

alert( fruits.length ); // 4

, . shoppingCart fruits .

: 5

5 .

  1. styles .
  2. -- .
  3. . .
  4. .
  5. .

:

, 
, , --
, , --
, --
, , , --
let styles = ["", ""];
styles.push("--");
styles[Math.floor((styles.length - 1) / 2)] = "";
alert( styles.shift() );
styles.unshift("", "");
: 5

? ?

let arr = ["a", "b"];

arr.push(function() {
  alert( this );
});

arr[2](); // ?

arr[2]() obj[method](), obj arr, method 2.

, arr[2] . , this arr :

let arr = ["a", "b"];

arr.push(function() {
  alert( this );
})

arr[2](); // a,b,function(){...}

3 : 2, .

: 4

sumInput(), :

  • , prompt .
  • , , .
  • .

P.S. 0 , 0.

, . value prompt, value = +value ( ) 0 ( ). .

function sumInput() {

  let numbers = [];

  while (true) {

    let value = prompt(" ", 0);

    //  ?
    if (value === "" || value === null || !isFinite(value)) break;

    numbers.push(+value);
  }

  let sum = 0;
  for (let number of numbers) {
    sum += number;
  }
  return sum;
}

alert( sumInput() );
: 2

, : arr = [1, -2, 3, 4, -9, 6].

: arr, .

getMaxSubSum(arr) .

:

getMaxSubSum([-1, 2, 3, -9]) == 5 (  )
getMaxSubSum([2, -1, 2, 3, -9]) == 6
getMaxSubSum([-1, 2, 3, -9, 11]) == 11
getMaxSubSum([-2, -1, 1, 2]) == 3
getMaxSubSum([100, -9, 2, -3, 5]) == 100
getMaxSubSum([1, 2, 3]) == 6 ( )

( ) 0:

getMaxSubSum([-1, -2, -3]) = 0

: O(n2), (n) .

.

.

, .

, [-1, 2, 3, -9, 11]:

//   -1:
-1
-1 + 2
-1 + 2 + 3
-1 + 2 + 3 + (-9)
-1 + 2 + 3 + (-9) + 11

//   2:
2
2 + 3
2 + 3 + (-9)
2 + 3 + (-9) + 11

//   3:
3
3 + (-9)
3 + (-9) + 11

//   -9
-9
-9 + 11

//   11
11

: , , .

function getMaxSubSum(arr) {
  let maxSum = 0; //     -  0

  for (let i = 0; i < arr.length; i++) {
    let sumFixedStart = 0;
    for (let j = i; j < arr.length; j++) {
      sumFixedStart += arr[j];
      maxSum = Math.max(maxSum, sumFixedStart);
    }
  }

  return maxSum;
}

alert( getMaxSubSum([-1, 2, 3, -9]) ); // 5
alert( getMaxSubSum([-1, 2, 3, -9, 11]) ); // 11
alert( getMaxSubSum([-2, -1, 1, 2]) ); // 3
alert( getMaxSubSum([1, 2, 3]) ); // 6
alert( getMaxSubSum([100, -9, 2, -3, 5]) ); // 100

O(n2). , 2 , 4 .

(1000, 10000 ) .

s. s - s=0. s .

, , :

function getMaxSubSum(arr) {
  let maxSum = 0;
  let partialSum = 0;

  for (let item of arr) { //    
    partialSum += item; //     partialSum
    maxSum = Math.max(maxSum, partialSum); //     
    if (partialSum < 0) partialSum = 0; //   
  }

  return maxSum;
}

alert( getMaxSubSum([-1, 2, 3, -9]) ); // 5
alert( getMaxSubSum([-1, 2, 3, -9, 11]) ); // 11
alert( getMaxSubSum([-2, -1, 1, 2]) ); // 3
alert( getMaxSubSum([100, -9, 2, -3, 5]) ); // 100
alert( getMaxSubSum([1, 2, 3]) ); // 6
alert( getMaxSubSum([-1, -2, -3]) ); // 0

1 O(n).

: . , , .

.


Web Proxy Viewer  |  New URL  |  Original Page