nbsp 1.2 pda new 添加 初始化 arr cnblogs
迁移时间:2017 年 5 月 25 日 08:05:33UpdateTime--2017 年 3 月 31 日 16:29:08
(二)数组(Array)
1. 用法
- //js声明数组的两大类方式
- // 第一类(通常使用)
- var array1 = []; //初始化
- var array2 = [1, 2, 3]; //声明并赋值
- array2[2] = 4; //指定固定位置数组元素的值
- array2.push(6); //1,2,4,6
- // 第二类
- var array3 = new Array();
- array3.push("张三");
- var array4 = new Array(3); //声明数组并指定长度
- array4[0] = "张三";
- array4.push("name"); //张三,,,name
注意:
1. 与 Java 不同的两点:
a.java 只能给指定的数组元素赋值;(js 还可以通过 push() 方法给数组添加元素)
b.java 如果指定了数组长度,就不能数组越界。(js 可以)
2.push() 方法说明
2.1. 声明的数组没有指定长度
2.1.1 如果没有给指定元素赋值,调 push() 方法添加元素,会从元素下标为 0 开始插入;
2.1.2 如果给指定元素赋值后,再调用 push() 方法添加元素,会从指定元素下标 + 1 的位置开始插入;
举例:
- var array3 = new Array();
- array3[8] = 'aa';
- array3.push("张三"); //,,,,,,,,aa,张三
2.2 声明数组时,指定了长度
调用 push() 方法添加元素,会从最后一个元素下标 + 1(即从下标为长度 n)的位置开始插入(即:允许越界);
举例:
- var array4 = new Array(3); //声明数组并指定长度
- array4[0] = "张三";
- array4.push("name"); //张三,,,name
3. 第一类方法与第二类方法的不同之处在于:第一类不能初始化数组长度,但是没有必要指定数组长度,就算指定了长度,数组越界时也不会抛出异常
2. 数组的增改删
增:一般使用 push() 方法,也可使用指定元素下标进行添加;改:指定元素下标进行修改;删:指定元素下标的值为 null
举例:
- var array = new Array();
- array.push("张三"); //增加
- array.push("李四");
- array.push("王五");
- array[1] = "赵六"; //修改
- array[2] = null; //删除
3. 遍历数组(查)
- vararray =new Array();
- array.push("张三");
- array.push("李四");
- array.push("王五");
- /**
- * 方法一(推荐使用)
- */
- for(varindexin array) {
- console.log(array[index]);
- }
- /**
- * 方法二:使用for循环
- */
- for(vari = 0; i < array.length; i++) {
- console.log(array[i]);
- }
UpdateTime--2017 年 4 月 1 日 11:04:55
- /**
- * 方法三:使用jQuery $().each(function(index,value){});
- */
- $(array).each(function(index, value) {
- console.log(value);
- });
- /**
- * 方法四:使用javascript的forEach()方法(不建议使用)
- */
- array.forEach(function(value,index) {
- console.log(value);
- });
注意:
虽然 javascript 也可以像 java 那样有自己的 foreach 方法(方法四),但是 IE9 下版本不支持,所以不推荐使用。(若非得使用 js 实现,转到文章:js 自定义方法)
方法一,java 中没有这种迭代方式。
javascript-Array(数组)
来源: http://www.bubuko.com/infodetail-2086849.html