Դաս 26: Զանգվածներ /Arrays/ Մաս 1

0

Զանգվածը (Array) թույլ է տալիս մի քանի արժեք պահել մեկ փոփոխականում: Այն պահում է ֆիքսված չափսի հաջորդական էլեմենտների նույն տեսակի հավաքածուն: Զանգվածը օգտագործվում է տվյալներ պահելու համար, բայց հաճախ ավելի պիտանի է զանգվածի մասին մտածել, որպես նույն տեսակի փոփոխականների հավաքածու:

Շարահյուսություն (Syntax)

var fruits = new Array( “apple”, “orange”, “mango” );

 

Զանգվածը տողեր կամ ամբողջ թվերի ցուցակ է: Երբ մեկ թվային պարամետր եք առանձնացնում զանգվածի constructor-ի հետ, դուք հատկորոշում եք զանգվածի սկզբնական երկարությունը: զանգվածի առավելագույն երկարությունը 4,294,967,295 է:

Զանգվածը կարող եք ստեղծել հետևյալ կերպով.

var fruits = [ “apple”, “orange”, “mango” ];

Դասական թվականներ կօգտագործեք զանգվածում արժեքներ տեղադրելու համար:

fruits[0] is the first element

fruits[1] is the second element

fruits[2] is the third element

 

Զանգվածի Հատկությունները

Զանգվածի հատկությունները և նրանց նկարագրությունները:

Հատկություն Նկարագրություն
constructor Վերադարձնում է array ֆունկցիայի վկայակոչումը, որը օբյեկտը ստեղծել է :
index Հատկությունը ներկայացնում է զրոի հիմնված ցուցանիշ, որը համապատասխանում է տողին:
input Այս հատկությունը միայն ներկա է array-ներում, որը ստեղծվել է կանոնավոր արտահայտության համապատասխանությունից:
length Array-ում էլեմենտների թիվն է արտացոլում:
prototype  Հատկության նախատիպը թույլ է տալիս հատկություններ և մեթոդներ ավելացնել օբյեկտին:

 

 constructor

Javascript-ում զանգվածը constructor հատկությունը վերադարձնում է զանգված ֆունկցիայի վկայակոչումը, որը ստեղծել է պնդման նախատիպը:

Շարահյուսություն (Syntax)

array.constructor

 

Վերադարձող արժեք

Վերադարձնում է զանգված ֆունկցիայի վկայակոչումը, որը ստեղծել է պնդման նախատիպը:

Օրինակ՝

<html>

<head>

<title>JavaScript Array constructor Property</title>

</head>

<body>

<script type=”text/javascript”>

var arr = new Array( 10, 20, 30 );

document.write(“arr.constructor is:” + arr.constructor);

</script>

</body>

</html> 

 

Արդյունք

arr.constructor is:function Array() { [native code]}

 

length

Javascript-ում զանգվածի length հատկությունը վերադառնում է չգրանցված, 32 բիթ ամբողջ թիվ, որը հատկորոշում է էլեմենտների թիվը array-ում:

Շարահյուսություն (Syntax)

array.length

 

Վերադարձող արժեք

Վերադարձնում է զանգվածի երկարությունը:

Օրինակ

<html>

<head>

<title>JavaScript Array length Property</title>

</head>

<body>

<script type=”text/javascript”>

var arr = new Array( 10, 20, 30 );

document.write(“arr.length is:” + arr.length);

</script>

</body>

</html> 

 

Արդյունք

arr.length is:3

 

Prototype

Հատկության նախատիպը թույլ է տալիս հատկություններ և մեթոդներ ավելացնել ցանկացած օբյեկտին: (Number, Boolean, String, Date, և այլն):

Շարահյուսություն (Syntax)

object.prototype.name = value

 

Օրինակ՝

<html>

<head>

<title>User-defined objects</title>

<script type=”text/javascript”>

function book(title, author){

this.title = title;

this.author = author;

}

</script>

</head>

<body>

<script type=”text/javascript”>

var myBook = new book(“Perl”, “Mohtashim”);

book.prototype.price = null;

myBook.price = 100;

document.write(“Book title is : ” + myBook.title + “<br>”);

document.write(“Book author is : ” + myBook.author + “<br>”);

document.write(“Book price is : ” + myBook.price + “<br>”);

</script>

</body>

</html> 

 

Արդյունք

Book title is : Perl

Book author is : Mohtashim

Book price is : 100

 

Array-ի Մեթոդներ

 Array օբյեկտի մեթոդները և նրանց նկարագրությունները

Մեթոդ Նկարագրություն
concat() Վերադարձնում է նոր array-ը ընկգրկելով այս array-ը միացած այլ array-ների հետ և արժեքեներին:
every() Վերադարձնում է յուրաքանչյուր էլեմենտի ճիշտը այս  array-ում, և գոհացնում է տրամադրված փորձարկման ֆունկցիան:
filter() Նոր array է ստեղծում այս array-ի բոլոր էլեմենտներով, որի համար տրամադրված զտման ֆունկցիան ճիշտ է վերադառնում:
forEach() Յուրաքանչյուր էլեմենտի համար ֆունկցիայի դեր է խաղում:
indexOf() Վերադարձնում է  էլեմենտի առաջին ցուցանիշը ,որտեղ  array-ը հավասար է հատկորոշված արժեքին կամ -1 է, եթե գտնված չէ:
join() Array –ի բոլոր էլէմենտները մի լարում է միացնում:
lastIndexOf() Վերադարձնում է  էլեմենտի վերջին ցուցանիշը ,որտեղ  array-ը հավասար է հատկորոշված արժեքին կամ -1 է, եթե գտնված չէ:
map() Նոր array է ստեղծում, որտեղ յուրաքանչյուր էլեմենտ  այս array-ում տրամադրված է ֆունկցիայով:
pop() Վերջին էլէմենտը հանում է array-ից և վերադարձնում այդ էլեմենտը:
push() Array –ի վերջում մեկ կամ մի քանի էլէմենտ է ավելացնում և վերադարձնում է array-ի երկարությունը:
reduce() Միաժամանակ ֆունկցիա է ավելացնում array-ի 2 արժեքեների դեմ, մի արժեքը կրճատելու համար:
reduceRight() Միաժամանակ ֆունկցիա է ավելացնում array-ի 2 արժեքեների դեմ, մի արժեքը կրճատելու համար: (աջից ձախ)
reverse() Էլեմենտների հերթականությունը array-ում հակադարձում է : Առաջինը վերջին է դառնում, իսկ վերջինը առաջին:
shift() Առաջին էլէմենտը հանում է array-ից և վերադարձնում այդ էլեմենտը:
slice() Array –ի մի բաժին է հանում և նոր array վերադարձնում:
some() Վերադարձնում է true, եթե այս array-ում էլեմենտներից մեկը գոհացնում է տրամադրված փորձարկման ֆունկցիան:
toSource() Ներկայացնում է օբյեկտի կոդի աղբյուրը:
sort() Դասավորում է array-ի էլեմենտները:
splice() Array-ից էլեմենտներ է հանում կամ ավելացնում:
toString() Վերադարձնում է տող ներկայացնող array-ը և նրա էլեմենտները:
unshift() Մի կամ մի քանի էլեմենտներ է ավելացնում array-ի դիմացից և վերադարձնում array-ի երկարությունը:

concat ()

Javascript array-ի concat() մեթոդը վերադարձնում է նոր array-ը ընկգրկելով այս array-ը միացած այլ array-ների հետ և արժեքեներին:

Շարահյուսություն (Syntax)

array.concat(value1, value2, …, valueN);

 

Պարամետրի մանրամասներ

valueN : Զանգվածները կամ արժեքները կապում են հետևանքային զանգվածին:

Return Value

Վերադարձնում է զանգվածի  երկարությունը:

Օրինակ՝

<html>

<head>

<title>JavaScript Array concat Method</title>

</head>

<body>

<script type=”text/javascript”>

var alpha = [“a”, “b”, “c”];

var numeric = [1, 2, 3];

var alphaNumeric = alpha.concat(numeric);

document.write(“alphaNumeric : ” + alphaNumeric );

</script>

</body>

</html>

 

Արդյունք

alphaNumeric : a,b,c,1,2,3

 

every ()

Javascript զանգվածի  every մեթոդը փորձում է արդյոք էլեմենտները գոհացնում են տրամադրված փորձարկման ֆունկցիան:

Շարահյուսություն (Syntax)

array.every(callback[, thisObject]);

 

Պարամետրի մանրամասներ

  • callback : Յուրաքանչյուր էլեմենտի  փորձարկման ֆունկցիան:
  • thisObject : this օբյեկտ օգտագործել, երբ ետկանչի իրագործում է լինում:

Վերադարձող արժեք

Վերադարձնում է յուրաքանչյուր էլեմենտի ճիշտը այս  զանգվածում, և գոհացնում է տրամադրված փորձարկման ֆունկցիան:

 Համատեղելիություն

Այս մեթոդը JavaScript-ի ECMA-262 ստանդարտի հավելված է, որպես այդպիսին, այն հնարավոր է ներկա չլինի ստանդարտ իրագործումներում: Այն աշխատացնելու համար, պետք է ավելացնեք հետևյալ կոդը սկրիպտի վերևում:

if (!Array.prototype.every)

{

Array.prototype.every = function(fun /*, thisp*/)

{

var len = this.length;

if (typeof fun != “function”) throw new TypeError();

var thisp = arguments[1]; for (var i = 0; i < len; i++)

{

if (i in this &&

!fun.call(thisp, this[i], i, this)) return false;

}

return true;

};

}

 

 Օրինակ՝

<html>

<head>

<title>JavaScript Array every Method</title>

</head>

<body>

<script type=”text/javascript”>

if (!Array.prototype.every){

Array.prototype.every = function(fun /*, thisp*/)

{

var len = this.length;

if (typeof fun != “function”) throw new TypeError();

var thisp = arguments[1];

for (var i = 0; i < len; i++){

if (i in this &&

!fun.call(thisp, this[i], i, this))

return false;

}

return true;

};

}

function isBigEnough(element, index, array) { return (element >= 10);

}

var passed = [12, 5, 8, 130, 44].every(isBigEnough);

document.write(“First Test Value : ” + passed );

passed = [12, 54, 18, 130, 44].every(isBigEnough);

document.write(“Second Test Value : ” + passed );

</script>

</body>

</html>

  

Արդյունք

First Test Value : falseSecond Test Value : true

 

filter ()

Javascript զանգվածի filter() մեթոդը նոր զանգված է ստեղծում այս զանգվածի բոլոր էլեմենտներով, որի համար տրամադրված զտման ֆունկցիան true է վերադառնում:

Շարահյուսություն (Syntax)

array.filter (callback[, thisObject]);

 

Պարամետրի մանրամասներ

  • callback : Յուրաքանչյուր էլեմենտի փորձարկման ֆունկցիան:
  • thisObject : this օբյեկտ օգտագործել, երբ ետկանչի իրագործում է լինում:

Return Value

Վերադառնում է ստեղծված զանգված:

 Համատեղելիություն

Այս մեթոդը JavaScript-ի ECMA-262 ստանդարտի հավելված է, որպես այդպիսին, այն հնարավոր է ներկա չլինի ստանդարտ իրագործումներում: Այն աշխատացնելու համար, պետք է ավելացնեք հետևյալ կոդը սկրիպտի վերևում:

if (!Array.prototype.filter)

{

Array.prototype.filter = function(fun /*, thisp*/)

{

var len = this.length;

if (typeof fun != “function”) throw new TypeError();

var res = new Array();

var thisp = arguments[1];

for (var i = 0; i < len; i++){

if (i in this){

var val = this[i]; // in case fun mutates this

if (fun.call(thisp, val, i, this))

res.push(val);

}

}

return res;

};

}

Օրինակ՝

<html>

<head>

<title>JavaScript Array filter Method</title>

</head>

<body>

<script type=”text/javascript”>

if (!Array.prototype.filter){

Array.prototype.filter = function(fun /*, thisp*/)

{

var len = this.length;

if (typeof fun != “function”) throw new TypeError();

var res = new Array();

var thisp = arguments[1];

for (var i = 0; i < len; i++){

if (i in this){

var val = this[i]; // in case fun mutates this

if (fun.call(thisp, val, i, this))

res.push(val);

}

}

return res;

};

}

function isBigEnough(element, index, array) {

return (element >= 10);

}

var filtered = [12, 5, 8, 130, 44].filter(isBigEnough);

document.write(“Filtered Value : ” + filtered );

</script>

</body>

</html>

 

Արդյունք

Filtered Value : 12,130,44

 

forEach ()

Javascript array-ի forEach() մեթոդը յուրաքանչյուր էլեմենտի համար ֆունկցիայի դեր է խաղում:

Շարահյուսություն (Syntax)

array.forEach(callback[, thisObject]);

Պարամետրի մանրամասներ

  • callback : Յուրաքանչյուր էլեմենտի փորձարկման ֆունկցիան:
  • thisObject : this օբյեկտ օգտագործել, երբ ետկանչի իրագործում է լինում:

Return Value

Վերադառնում է ստեղծված զանգված:

Համատեղելիություն

Այս մեթոդը JavaScript-ի ECMA-262 ստանդարտի հավելված է, որպես այդպիսին, այն հնարավոր է ներկա չլինի ստանդարտ իրագործումներում: Այն աշխատացնելու համար, պետք է ավելացնեք հետևյալ կոդը սկրիպտի վերևում:

if (!Array.prototype.forEach){

Array.prototype.forEach = function(fun /*, thisp*/)

{

var len = this.length;

if (typeof fun != “function”) throw new TypeError();

var thisp = arguments[1];

for (var i = 0; i < len; i++){

if (i in this)

fun.call(thisp, this[i], i, this);

}

};

}

 

Օրինակ՝

<html>

<head>

<title>JavaScript Array forEach Method</title>

</head>

<body>

<script type=”text/javascript”>

if (!Array.prototype.forEach){

Array.prototype.forEach = function(fun /*, thisp*/)

{

var len = this.length;

if (typeof fun != “function”) throw new TypeError();

var thisp = arguments[1];

for (var i = 0; i < len; i++){

if (i in this)

fun.call(thisp, this[i], i, this);

}

};

}

function printBr(element, index, array) {

document.write(“<br />[” + index + “] is ” + element );

}

[12, 5, 8, 130, 44].forEach(printBr);

</script>

</body>

</html>

 

Արդյունք

[0]  is 12

[1]  is 5

[2]  is 8

[3]  is 130

[4]  is 44

 

indexOf ()

Javascript զանգվաքծի indexOf() մեթոդը վերադարձնում է  էլեմենտի առաջին ցուցանիշը, որտեղ  զանգվածը հավասար է հատկորոշված արժեքին կամ -1 է, եթե գտնված չէ:

Շարահյուսություն (Syntax)

array.indexOf(searchElement[, fromIndex]);

 

Պարամետրի մանրամասներ

  • searchElement : զանգվածում տեղորոշելու էլեմենտ:
  • fromIndex : Ցուցանիշ, որից որոնումը սկսել: Եթե ցուցանիշը 0 է, ամբողջ  զանգվածը կորոնվի. Եթե ցուցանիշը ավելի մեծ է կամ հավասար զանգվածի երկարությանը, -1 է վերադառնում:

 Վերադարձող արժեք

Գտնված էլեմենտի ցուցանիշն է վերադարձնում:

Համատեղելիություն

Այս մեթոդը JavaScript-ի ECMA-262 ստանդարտի հավելված է, որպես այդպիսին, այն հնարավոր է ներկա չլինի ստանդարտ իրագործումներում: Այն աշխատացնելու համար, պետք է ավելացնեք հետևյալ կոդը սկրիպտի վերևում:

if (!Array.prototype.indexOf)

{

Array.prototype.indexOf = function(elt /*, from*/)

{

var len = this.length;

var from = Number(arguments[1]) || 0;

from = (from < 0)

? Math.ceil(from)

: Math.floor(from); if (from < 0)

from += len;

for (; from < len; from++)

{

if (from in this && this[from]=== elt)

return from;

}

return -1;

};

}

 

Օրինակ՝

<html>

<head>

<title>JavaScript Array indexOf Method</title>

</head>

<body>

<script type=”text/javascript”>

if (!Array.prototype.indexOf){

Array.prototype.indexOf = function(elt /*, from*/)

{

var len = this.length;

var from = Number(arguments[1]) || 0; from = (from < 0)

? Math.ceil(from)

: Math.floor(from); if (from < 0)

from += len;

for (; from < len; from++)

{

if (from in this && this[from]=== elt)

return from;

}

return -1; };

}

function printBr(element, index, array) {

document.write(“<br />[” + index + “] is ” + element );

}

var index = [12, 5, 8, 130, 44].indexOf(8);

document.write(“index is : ” + index );

var index = [12, 5, 8, 130, 44].indexOf(13);

document.write(“<br />index is : ” + index );

</script>

</body>

</html>

 Արդյունք

index is :2 index is :-1

 

join ()

Javascript զանգվածի join() մեթոդը բոլոր էլեմենտները մի տողում է միացնում:

Շարահյուսություն (Syntax)

array.join(separator);

 

Պարամետրի մանրամասներ

separator : Հատկորոշում է տողը յուրաքանչյուր էլեմենտ զանգվածից բաժանելու համար: Եթե բաց թողնված է, ապա զանգվածի էլեմենտները բաժանվում են ստորակետով:

Վերադարձող արժեք

Վերադարձնում է տողը, բոլոր զանգվածի էլեմենտները միացնելով:

Օրինակ՝

<html>

<head>

<title>JavaScript Array join Method</title>

</head>

<body>

<script type=”text/javascript”>

var arr = new Array(“First”,”Second”,”Third”);

var str = arr.join();

document.write(“str : ” + str );

var str = arr.join(“, “);

document.write(“<br />str : ” + str );

var str = arr.join(” + “);

document.write(“<br />str : ” + str );

</script>

</body>

</html>

 

Արդյունք

str : First,Second,Third str : First, Second, Third str : First + Second + Third

 

Հարգելի ընթերցող, խնդրում ենք չմոռանալ like տալ մեր ֆեյսբուքյան էջին, քանի որ նորությունների մեծ մասը առաջինը տեղադրվում է հենց այնտեղ։ Ինչպես նաև հետևեք մեզ այլ սոցիալական ցանցերում և, իհարկե, գրանցվեք մեր բլոգում։

Share.