javascript 数组
什么是数组?
数组是一个特殊的变量,它能够[文]一次存放一个以上的值。
如果你有一个项目清单,在单个变量中存储品牌,那应该是这样字的:
var brand1 = "Saab";var brand2 = "Volvo";var brand3 = "BMW";
假如希望遍历所有汽车牌子并找到一个特定的值?因为如果不知3个而是更多,比如30,300等。
这个时候就是要数组。
数组可以用一个单一的名称存放[章]很多值,并且还可以通过索引号[来]来访问这些值。
创建数组
var brands = ["Saab", "Volvo","BMW"];
还可以拆行,因为声明可以横跨多行:
var brands = [ "Saab", "Volvo", "BMW"];
注意:最后一个元素之后不用写[自]逗号(,),否者可能出现浏览[一]器兼容问题。
使用javascript 关键字 new 创建数组
var brands = new Array("Saab","Volvo","BMW");这两种创建数组的效果是一样的,但是出于简洁,可读性,执行速度的考虑,还是使用第一种的方法比较好。
访问素组元素
通过使用索引号来引用耨个数组元素
var name = brands[0];
修改brands里元素的方法是这样:
brands[0] = "Opel";
数组还是一种特殊的对象,使用[道]typeof 运算符会返回 "object&q[,]uot;
但是我们还是会以数组来描述。[一]
数组使用数字来访问其元素,比[个]如:
brands[0],返回第一[分]个Opel.
这里对象这是使用名称来访问其成员。比如person.firstName 返回 Tom
var person = {firstNmae: "Tom", lastName: "jie", age: 20};可以在数组中保存对象,保存函数,保存数组:
myArray[0] = Date.now;myArray[1] = myFunction;myArray[2] = brands;
var x = brands.length; // length 属性返回元素的数量var y = brands.sort(); // sort() 方法对数组进行排序
访问最后一个元素可以这样使用
var last = brands[brands.length -1];
遍历数组元素
for 循环
var fruits,text,flen,i;fruits = ["banana", "apple","orange"];flen = fruits.length;text = "<ul>";for(i = 0; i< flen; i++) { text += "<li>"+ fruits[i]+"</li>;} 2. Array.foreach() 函数
var fruits,text;fruits = ["banana","apple","orange"];text="<ul>";fruits.foreach(myFunction);text +=</ul>;function myFunction(value) { text += "<li>" + value +"</li>";}添加数组元素使用push
fruits.push("lemon");还可以使用length属性
fruits[fruits.length] = "lemon";
总结一下:
JavaScript中&nb[享]sp;
数组使用的是数字索引
对象使用的是命名索引
数组是特殊类型的对象,具有数[的]字索引
创建与使用数组使用 [] 就行。
因为数组是特殊的对象,那该如[网]何识别数组呢?
1.这里 ECMAScript5 定义了新方法 Array.isArray();
Array.isArray(fruits); // 返回 true;
2.创建 isArray()函数来解决
function isArray(x) { return x.constructor.toSting().indexOf("Array") > -1;}