JavaScript అరేయా

JavaScript 数组用于在单一变量中存储多个值。

ఉదాహరణ

var cars = ["Saab", "Volvo", "BMW"];

స్వయంగా ప్రయత్నించండి

什么是数组?

数组是一种特殊的变量,它能够一次存放一个以上的值。

如果您有一个项目清单(例如,汽车品牌列表),在单个变量中存储汽车品牌应该是这样的:

var car1 = "Saab";
var car2 = "Volvo";
var car3 = "BMW"; 

కానీ, మీరు అన్ని వాహనాలను గుర్తించడానికి మరియు ఒక ప్రత్యేక విలువను కనుగొనడానికి కావాలి అని ఆశిస్తున్నారా? మీరు మూడు వాహన మర్క్స్ కాకుండా మూడు వందల వాహన మర్క్స్ ఉన్నారా?

పరిష్కారం ప్రసంగం!

ప్రసంగం ఒక ఒకే పేరుతో అనేక విలువలను నిల్వ చేయవచ్చు మరియు ప్రసంగం సంఖ్యలో ఉపయోగించి విలువలను పొందవచ్చు.

ప్రసంగాన్ని సృష్టించడం

ప్రసంగం పద్ధతిని ఉపయోగించడం జావాస్క్రిప్ట్ ప్రసంగాన్ని సృష్టించడానికి సులభతర పద్ధతి.

విధానం:

var array-name = [item1, item2, ...];

ఉదాహరణ

var cars = ["Saab", "Volvo", "BMW"];

స్వయంగా ప్రయత్నించండి

స్థానాలు మరియు పందులు ముఖ్యం కాదు. వివరణను అనేక పందులలో ప్రస్తావించవచ్చు:

ఉదాహరణ

var cars = [
    "Saab",
    "Volvo",
    "BMW"
];

స్వయంగా ప్రయత్నించండి

చివరి అంశం తర్వాత కామా లేదా కామా కాకూడదు (ఉదాహరణకు "BMW",).

బ్రౌజర్ అనుకూలతలో సమస్యలు ఉండవచ్చు.

ఉపయోగించిన JavaScript పదకోశం new

ఈ ఉదాహరణలో కూడా ఒక ప్రసంగాన్ని సృష్టించి, దానికి విలువలను కట్టిస్తాము:

ఉదాహరణ

var cars = new Array("Saab", "Volvo", "BMW");

స్వయంగా ప్రయత్నించండి

ఈ రెండు ఉదాహరణలు పూర్తిగా ఒకే రీతిలో పని చేస్తాయి. ఉపయోగించకూడదు: new Array()

సరళత్వం, పఠనసౌలభ్యం మరియు నిర్వహణ వేగం కోసం, మొదటి పద్ధతిని ఉపయోగించండి (ప్రసంగం పద్ధతి).

ప్రసంగం అంశాన్ని పొందుటకు

మేము ప్రసంగం అంశాన్ని పొందుటకు ప్రయోగిస్తాముసంఖ్యలో సూచికఒక ప్రసంగం అంశాన్ని సూచించడానికి.

ఈ వాక్యం cars లోని మొదటి అంశం విలువను పొందుతుంది:

var name = cars[0];

ఈ వాక్యం cars లోని మొదటి అంశాన్ని మార్చుతుంది:

cars[0] = "Opel";

ఉదాహరణ

var cars = ["Saab", "Volvo", "BMW"];
document.getElementById("demo").innerHTML = cars[0]; 

స్వయంగా ప్రయత్నించండి

[0] సంఖ్యలో మొదటి అంశం. [1] రెండవ. ప్రసంగం సంఖ్యలు 0 నుండి మొదలుపెడతాయి.

ప్రసంగం అంశాలను మార్చుట

ఈ వాక్యం cars లోని మొదటి అంశం విలువను మార్చుతుంది:

cars[0] = "Opel";

ఉదాహరణ

var cars = ["Saab", "Volvo", "BMW"];
cars[0] = "Opel";
document.getElementById("demo").innerHTML = cars[0];

స్వయంగా ప్రయత్నించండి

访问完整数组

通过 JavaScript,可通过引用数组名来访问完整数组:

ఉదాహరణ

var cars = ["Saab", "Volvo", "BMW"];
document.getElementById("demo").innerHTML = cars; 

స్వయంగా ప్రయత్నించండి

数组是对象

数组是一种特殊类型的对象。在 JavaScript 中对数组使用 typeof 运算符会返回 "object"。

但是,JavaScript 数组最好以数组来描述。

数组使用数字来访问其“元素”。在本例中,person[0] 返回 Bill:

数组:

var person = ["Bill", "Gates", 62];

స్వయంగా ప్రయత్నించండి

对象使用名称来访问其“成员”。在本例中,person.firstName 返回 Bill:

对象:

var person = {firstName:"Bill", lastName:"Gates", age:19};

స్వయంగా ప్రయత్నించండి

数组元素可以是对象

JavaScript 变量可以是对象。数组是特殊类型的对象。

正因如此,您可以在相同数组中存放不同类型的变量。

మీరు అర్రెలో ఆబ్జెక్ట్లను సేవ్ చేయవచ్చు. మీరు అర్రెలో ఫంక్షన్లను సేవ్ చేయవచ్చు. మీరు అర్రెలో అర్రెను కూడా సేవ్ చేయవచ్చు:

myArray[0] = Date.now;
myArray[1] = myFunction;
myArray[2] = myCars;

అర్రె అనునాయకాలు మరియు పద్ధతులు

జావాస్క్రిప్ట్ అర్రెల నిజమైన శక్తి అర్రె అనునాయకాలు మరియు పద్ధతులలో మరియు దానిలో కలిగి ఉంటుంది:

ఉదాహరణ

var x = cars.length;   // length అనునాయకం అంశాల సంఖ్యను తిరిగి ఇస్తుంది
var y = cars.sort();   // sort() పద్ధతి అర్రెను క్రమబద్ధం చేస్తుంది

మేము తదుపరి చాప్టర్లో అర్రె పద్ధతులను నేర్చుకుంటాము.

length అనునాయకం

length అనునాయకం అర్రె పొడవును తిరిగి ఇస్తుంది (అంశాల సంఖ్య).

ఉదాహరణ

var fruits = ["Banana", "Orange", "Apple", "Mango"];
fruits.length;                       // fruits యొక్క పొడవు 4

స్వయంగా ప్రయత్నించండి

length అనునాయకం ఎక్కువ అర్రె సంఖ్యను కంటే ఎక్కువ ఉంటుంది (సంఖ్యలో స్థానం).

అర్రె మొదటి అంశాన్ని ప్రాప్తించండి

ఉదాహరణ

fruits = ["Banana", "Orange", "Apple", "Mango"];
var first = fruits[0];

స్వయంగా ప్రయత్నించండి

అర్రె ఆఖరి అంశాన్ని ప్రాప్తించండి

ఉదాహరణ

fruits = ["Banana", "Orange", "Apple", "Mango"];
var last = fruits[fruits.length - 1];

స్వయంగా ప్రయత్నించండి

అర్రె అంశాలను ప్రక్కను వినియోగించండి

ప్రతి అర్రె ప్రక్కను వినియోగించడం అత్యంత సురక్షితమైన మార్గం "for" సున్నిత పరికరం:"

ఉదాహరణ

var fruits, text, fLen, i;
fruits = ["Banana", "Orange", "Apple", "Mango"];
fLen = fruits.length;
text = "<ul>";
for (i = 0; i < fLen; i++) {
     text += "<li>" + fruits[i] + "</li>";
} 

స్వయంగా ప్రయత్నించండి

మీరు కూడా ఉపయోగించవచ్చు Array.foreach() ఫంక్షన్:

ఉదాహరణ

var fruits, text;
fruits = ["Banana", "Orange", "Apple", "Mango"];
text = "<ul>";
fruits.forEach(myFunction);
text += "</ul>";
function myFunction(value) {
  text += "<li>" + value + "</li>";
}

స్వయంగా ప్రయత్నించండి

అనునామిక అంశాన్ని జోడించడం

అనునామిక అంశాన్ని జోడించడానికి ఉత్తమ పద్ధతి ఇది push() పద్ధతి:

ఉదాహరణ

var fruits = ["Banana", "Orange", "Apple", "Mango"];
fruits.push("Lemon");                // fruits కు కొత్త అంశాన్ని (Lemon) జోడించడం

స్వయంగా ప్రయత్నించండి

కానీ కూడా ఉపయోగించవచ్చు length నూతన అంశాన్ని జోడించడానికి లక్షణం:

ఉదాహరణ

var fruits = ["Banana", "Orange", "Apple", "Mango"];
fruits[fruits.length] = "Lemon";     // fruits కు కొత్త అంశాన్ని (Lemon) జోడించడం

స్వయంగా ప్రయత్నించండి

జాగ్రత్త ఉంచండి!

అత్యున్నత సూచికను జోడించడం వలన అనియంత్రిత "గుండెలు" ఏర్పడవచ్చు:

ఉదాహరణ

var fruits = ["Banana", "Orange", "Apple", "Mango"];
fruits[6] = "Lemon";                 // fruits కు కొత్త అంశాన్ని (Lemon) జోడించడం

స్వయంగా ప్రయత్నించండి

అనునామిక సూచికలతో కొన్ని ప్రక్రియలు మాత్రమే ఉపయోగించబడతాయి.

అనునామిక సూచికలతో కొన్ని ప్రక్రియలు మాత్రమే ఉపయోగించబడతాయి.

అనునామిక సూచికలతో కొన్ని ప్రక్రియలు మాత్రమే ఉపయోగించబడతాయి.

JavaScript అనునామిక సూచికలతో కొన్ని ప్రక్రియలు మాత్రమే ఉపయోగించబడతాయి.అనునామిక సూచికలతో కొన్ని ప్రక్రియలు మాత్రమే ఉపయోగించబడతాయి.

JavaScript లో, అనునామిక సూచికలతో కొన్ని ప్రక్రియలు మాత్రమే ఉపయోగించబడతాయి.数字索引

ఉదాహరణ

var person = [];
person[0] = "Bill";
person[1] = "Gates";
person[2] = 62;
var x = person.length;          // person.length 3 అనే విలువను అందిస్తుంది
var y = person[0];              // person[0] "Bill" అనే విలువను అందిస్తుంది

స్వయంగా ప్రయత్నించండి

జాగ్రత్త ఉంచండి!

మీరు అనునామిక సూచికను వాడితే, JavaScript అనునామిక సూచికను ప్రామాణిక అధికారిక వస్తువుగా పునర్నిర్మిస్తుంది.

తరువాత, అన్ని ప్రక్రియలు మరియు అనునామిక లక్షణాలు తప్పు ఫలితాలను అందించతాయి.

ఉదాహరణకు:

var person = [];
person["firstName"] = "Bill";
person["lastName"] = "Gates";
person["age"] = 62;
var x = person.length;         // person.length 将返回 0
var y = person[0];              // person[0] 将返回 undefined

స్వయంగా ప్రయత్నించండి

数组和对象的区别

在 JavaScript 中,数组使用数字索引

在 JavaScript 中,对象使用命名索引

数组是特殊类型的对象,具有数字索引。

何时使用数组,何时使用对象?

  • JavaScript 不支持关联数组
  • 如果希望元素名为字符串(文本)则应该使用对象
  • 如果希望元素名为数字则应该使用数组

避免 new Array()

没有必要使用 JavaScript 的内建数组构造器 new Array()

请使用 [] 取而代之!

下面两条不同的语句创建了名为 points 的新的空数组:

var points = new Array();         // 差
var points = [];                  // 优

下面两条不同的语句创建包含六个数字的新数组:

var points = new Array(40, 100, 1, 5, 25, 10); // 差
var points = [40, 100, 1, 5, 25, 10];          // 优

స్వయంగా ప్రయత్నించండి

new 关键词只会使代码复杂化。它还会产生某些不可预期的结果:

var points = new Array(40, 100);  // 创建包含两个元素的数组(40 和 100)

假如删除其中一个元素会怎么样?

var points = new Array(40);       // 创建包含 40 个未定义元素的数组!!!

స్వయంగా ప్రయత్నించండి

如何识别数组

常见的问题是:我如何知晓某个变量是否是数组?

సమస్య జావాస్క్రిప్ట్ ఆపరేటర్లో ఉంది: typeof వారు "ఆబ్జెక్ట్అని

var fruits = ["Banana", "Orange", "Apple", "Mango"];
typeof fruits;             // వారు object ఉంది ఉంటారు

స్వయంగా ప్రయత్నించండి

typeof ఆపరేటర్ వారు "ఆబ్జెక్ట్" ఉంది అని పరిగణిస్తారు ఎందుకంటే జావాస్క్రిప్ట్ సమాచారం ఆబ్జెక్ట్ లో ఉంటాయి.

解决方案 1:

为了解决这个问题,ECMAScript 5 定义了新方法 Array.isArray()

Array.isArray(fruits);     // 返回 true

స్వయంగా ప్రయత్నించండి

此方案的问题在于 ECMAScript 5 不支持老的浏览器

解决方案 2:

创建您自己的 isArray() ఈ ఫంక్షన్ ఈ సమస్యను పరిష్కరిస్తుంది:

function isArray(x) {
    return x.constructor.toString().indexOf("Array") > -1;
}

స్వయంగా ప్రయత్నించండి

పరిమాణం అనుబంధం ఉంటే పైని ఫంక్షన్ ఎల్లప్పుడూ సరైన ఫలితం అవుతుంది.

లేదా మరింత ఖచ్చితంగా వివరించాలంటే, అనుబంధం ప్రాథమికంగా "Array" పదాన్ని కలిగి ఉంటే సరైన ఫలితం అవుతుంది.

పరిష్కారం 3:

ఇది ప్రామాణికంగా ఇచ్చిన కన్స్ట్రక్టర్ ద్వారా సృష్టించబడిన అనుబంధం ఉంటే instanceof ఆపరేటర్ ఫలితం సరైన ఫలితం అవుతుంది:

var fruits = ["Banana", "Orange", "Apple", "Mango"];
fruits instanceof Array     // సరైన ఫలితం

స్వయంగా ప్రయత్నించండి