Web开发——JavaScript基础(数组)
Posted zyjhandsome
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Web开发——JavaScript基础(数组)相关的知识,希望对你有一定的参考价值。
。 当前参考学习《JavaScript语言精粹》
1、数组字面量
一个数组字面量是在一对方括号中包围零个或多个用逗号分隔的值的表达式。数组字面量可以出现在任何表达式可以出现的地方。数组的第一个值将获得属性名‘0‘,第二个值将获得属性名‘1‘,依次类推:
1 // numbers继承来自Array.prototype,所以numbers继承了大量有用的方法。 2 // 同时numbers也有一个诡异的lenght属相,而numbers_object则(见下文中)没有 3 var empty = []; 4 var numbers = [ 5 ‘zero‘, ‘one‘, ‘two‘, ‘three‘, ‘four‘, 6 ‘five‘, ‘six‘, ‘seven‘, ‘eight‘, ‘nine‘ 7 ]; 8 9 console.log(‘1.1 ‘ + empty[1]); // undefined 10 console.log(‘1.2 ‘ + numbers[1]); // ‘one‘ 11 console.log(‘1.3 ‘ + empty.length); // 0 12 console.log(‘1.4 ‘ + numbers.length); // 10 13 14 // 对象字面量 15 // numbers_object继承来自Object.prototype 16 var numbers_object = { 17 ‘0‘: ‘zero‘, ‘1‘: ‘one‘, ‘2‘: ‘two‘, ‘3‘: ‘three‘, ‘4‘: ‘four‘, 18 ‘5‘: ‘five‘, ‘6‘: ‘six‘, ‘7‘: ‘seven‘, ‘8‘: ‘eight‘, ‘9‘: ‘nine‘ 19 }; 20 21 // 在大多数语言中一个数组的所有元素都要求是相同的类型。 22 // javascript允许数组包含任意混合类型的值。 23 var misc = [ 24 ‘str‘, 98.6, true, false, null, undefined, 25 [‘nested‘, ‘array‘], {object: true}, NaN, Infinity 26 ]; 27 console.log(‘2.1 ‘ + misc.length);
输出结果:
1 1.1 undefined 2 1.2 one 3 1.3 0 4 1.4 10 5 2.1 10
2、长度
每个数组都有一个length属性。和大多数其它语言不同,JavaScript数组的length是没有上界的。如果你用大于或等于当前length的数字作为下标来保存一个元素,那么length将增大来容纳新元素。不会发生数组边界错误。
1 var myArray = []; 2 console.log("1 " + myArray.length); // 0 3 4 myArray[10000] = true; 5 console.log("2 " + myArray.length); // 10001, myArray数组只包含一个属性
输出结果:
1 1 0 2 2 10001
1 // 可以直接设置length的值。 2 // 设置大的length无须给数组分配更多的空间。 3 // 而把length设小,将导致所有虾苗大于等于新length的属性被删除 4 numbers.length = 3; 5 console.log(‘3.1 ‘ + numbers); 6 // 附加一个新元素到该数组的尾部 7 numbers[numbers.length] = ‘ten‘; 8 console.log(‘3.2 ‘ + numbers); 9 // 有时用push方法可以更方便地完成同样的事情 10 numbers.push(‘go‘); 11 console.log(‘3.3 ‘ + numbers);
输出结果:
1 3.1 zero,one,two 2 3.2 zero,one,two,ten 3 3.3 zero,one,two,ten,go
3、删除&枚举(查询)
1 // 由于JavaScript的数组其实就是对象, 2 // 所以delete云算法可以用来从数组中移出元素 3 // 不幸的是,那样会在数组中遗留一个空洞 4 delete numbers[2]; 5 console.log("4.1 " + numbers); 6 7 // 幸运的是JavaScript数组有一个splice方法。 8 // 它可以对数组做个手术,删除一些元素并将它们替换为其它的元素 9 // 第一个参数是数组中的一个序号,第二个参数是要删除的元素个数 10 numbers.splice(2, 1); 11 console.log("4.2 " + numbers);
输出结果:
1 4.1 zero,one,,ten,go 2 4.2 zero,one,ten,go
因为JavaScript的数组其实就是对象,所以for in语句可以用来遍历一个数组的所有属性。不幸的是,for in无法保证属性的顺序,而大多数的数组应用都期望按照阿拉伯数字顺序来产生元素。因此可以用常规的for语句进行查询使用。
1 // 查询数组 2 for (var i = 0; i < numbers.length; i++) { 3 console.log("5.1 " + numbers[i]); 4 }
输出结果:
1 5.1 zero 2 5.1 one 3 5.1 ten 4 5.1 go
以上是关于Web开发——JavaScript基础(数组)的主要内容,如果未能解决你的问题,请参考以下文章
Python自动化开发学习的第十二周----WEB基础(JavaScript+Dom)