[ Web Proxy ]
URL:
Viewing: https://fa.javascript.info/array [Back]  [Original]

:
DanskEnglishEspaolFranaisIndonesiaItalianoTrkeOzbek

. .

. : HTML .

. . .

Array .

:

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

. :

let fruits = ["Apple", "Orange", "Plum"];

.

:

let fruits = ["Apple", "Orange", "Plum"];

alert( fruits[0] ); // Apple
alert( fruits[1] ); // Orange
alert( fruits[2] ); // Plum

:

fruits[2] = 'Pear'; // now ["Apple", "Orange", "Pear"]

:

fruits[3] = 'Lemon'; // now ["Apple", "Orange", "Pear", "Lemon"]

length :

let fruits = ["Apple", "Orange", "Plum"];

alert( fruits.length ); // 3

alert .

let fruits = ["Apple", "Orange", "Plum"];

alert( fruits ); // Apple,Orange,Plum

.

:

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

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

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

:

let fruits = [
  "Apple",
  "Orange",
  "Plum",
];

/ .

at

. .

.

friuts[-1].

. 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):

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

pop/push shift/unshift

. :

  • push .
  • shift .
[]

.

. .

.

:

  • push .
  • pop .

.

: :

[]

LIFO (Last-In-First-Out) . FIFO (First-In-First-Out) .

. / / .

.

:

pop

:

let fruits = ["Apple", "Orange", "Pear"];

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

alert( fruits ); // Apple, Orange

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

push

:

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

fruits.push("Pear");

alert( fruits ); // Apple, Orange, Pear

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

:

shift

:

let fruits = ["Apple", "Orange", "Pear"];

alert( fruits.shift() ); //  alert       "Apple"

alert( fruits ); // Orange, Pear
unshift

:

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

fruits.unshift('Apple');

alert( fruits ); // Apple, Orange, Pear

push unshift :

let fruits = ["Apple"];

fruits.push("Orange", "Peach");
fruits.unshift("Pineapple", "Lemon");

// ["Pineapple", "Lemon", "Apple", "Orange", "Peach"]
alert( fruits );

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

length . .

8 ( ). .

:

let fruits = [""]

let arr = fruits;     (      )

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

arr.push(""); //       

alert( fruits ); //   2   -  

. .

.

:

let fruits = []; //   

fruits[99999] = 5; //           

fruits.age = 25; //       

. .

. .

:

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

. . . {} .

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 = ["Apple", "Orange", "Pear"];

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

for..of:

let fruits = ["Apple", "Orange", "Plum"];

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

for..of . .

for..in :

let arr = ["Apple", "Orange", "Pear"];

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

. :

  1. for..in .

    . length . for..in . .

  2. for..in 10 100 . . . .

for..in .

length

length . .

length :

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

alert( fruits.length ); // 124

.

length .

. . :

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

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

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

arr.length = 0 .

new Array()

:

let arr = new Array("Apple", "Pear", "etc");

. .

new Array .

:

let arr = new Array(2);     2   

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

alert( arr.length ); // length 2

.

. :

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"

==

== .

.

:

  • == .
  • == (primitive) .
  • 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 . i >= 0 arr[i] .

:

  • 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) .

== ( > < ) . .

for..of .

: 3

let fruits = ["Apples", "Pear", "Orange"];

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

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

4 :

let fruits = ["Apples", "Pear", "Orange"];

let shoppingCart = fruits;

shoppingCart.push("Banana");

alert( fruits.length ); // 4

. shoppingCart fruits .

: 5

5 .

  1. styles Jazz Blues .
  2. Rock-n-Roll .
  3. Classics . .
  4. .
  5. Rap Reggae .

:

Jazz, Blues
Jazz, Blues, Rock-n-Roll
Jazz, Classics, Rock-n-Roll
Classics, Rock-n-Roll
Rap, Reggae, Classics, Rock-n-Roll
let styles = ["Jazz", "Blues"];
styles.push("Rock-n-Roll");
styles[Math.floor((styles.length - 1) / 2)] = "Classics";
alert( styles.shift() );
styles.unshift("Rap", "Reggae");
: 5

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

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

arr[2](); // ?

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

arr[2] . this arr :

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

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

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

3 : 2 .

: 4

sumInput() :

  • prompt .
  • Cancel .
  • .

: 0 .

[]

. value prompt value = +value ( ) ( ) . .

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 (   )

( ) :

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

: O(n2) O(n) .

sandbox .

.

.

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

// -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; //       

  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) 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) .

: . .

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

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

sandbox.


Web Proxy Viewer  |  New URL  |  Original Page