长沙java培训
达内长沙芙蓉路中心

18487146383

热门课程

JavaScript数组:你要知道的三件事(3)

  • 时间:2016-08-23
  • 发布:长沙Java培训
  • 来源:sdk.cn

这篇文章,我们继续学习关于JavaScript数组的知识。现在达内长沙java培训的老师要讲的是:元素的数量不等同于其长度。

一般情况下,当我们在谈到数组长度的时候,我们会认为其长度要么是数组值的数量,要么是我们手动给数组设定的长度。但是事实上,数组的长度取决于其内部最大的已经存在的索引。

长度是一个非常灵活的属性。无论你是否曾实现调整了数组的长度,只要你不断的给数组添加新的值,它的长度也会随之增长。

var ary = [];

ary.length = 3;

console.log(ary.length);

ary[5] = "abcd";

console.log(ary.length);

在上面的例子中,你可以看到我给数组的索引5只指定了一个值,之后长度变成了6。现在,如果你觉得给index 5添加一个值,数组就会自动创建索引0-4,那么你的推测就出现了错误。数组中并没有应经存在的索引0-4。你可以使用in operator来查看。

var ary = [];

ary.length = 3;

console.log(ary.length);

ary[5] = "abcd";

console.log(ary.length);

console.log(0 in ary);

上面的ary数组被我们成为稀疏数组(sparse array),这个数组的索引不会持续的被创建,而且索引之间有空气。sparse数组的对立面为密集数组(dense array)。密集数组的索引会被持续的创建,其元素的数量等于其长度。

数组的长度属性也可以用来缩短数字,确保数组中索引的最大数量永远小于数组本身,因为在默认情况下,长度的数值永远会大于索引数量的最高值。

在下面的例子中,你可以看到,我利用减少ary数组长度的方式,社区了索引5中的元素。

var ary = [];

ary.length = 3;

console.log(ary.length);

ary[5] = "abcd";

console.log(ary.length);

ary.length = 2;

console.log(ary.length);

console.log(ary[5]);

你学会了吗?

上一篇:JavaScript数组:你要知道的三件事(2)
下一篇:JavaScript:获取超链接的绝对URL地址

达内长沙Java培训教你阅读GC日志

spring注入配置文件属性到java类

Java中Vector和ArrayList的区别

达内长沙Java培训详解volatile关键字

选择城市和中心
贵州省

广西省

海南省