Web开发——JavaScript基础(数组)

2021-05-19 15:29

阅读:707

标签:错误   i++   splice   for   type   它的   number   nan   push   

。  当前参考学习《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 ) {
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基础(数组)

标签:错误   i++   splice   for   type   它的   number   nan   push   

原文地址:https://www.cnblogs.com/zyjhandsome/p/9742417.html


评论


亲,登录后才可以留言!