美文网首页
神奇的数组

神奇的数组

作者: 西门吹饼 | 来源:发表于2017-10-31 17:39 被阅读0次

    01

    JavaScript有很多数据类型,数组就是其中的一类。英文名叫Array。

    例如:var names=["zhangsan" ,  "lisi",  "wangwu",  "zhaoliu"];

    其标志就是一堆方括号【】。

    提到数组,就要提到另一个数据类型:“对象(object)”。

    例如:var names={  firstName:"zhangsan",  secondName:"lisi",  thirdName:"wangwu",  fourthName:"zhaoliu"  }

    这两个例子都是表达name的值。从数组的定义中可以得出,JavaScript中,数组其实是对象的一种特殊形式。

    数组的索引实际上和碰巧是整数的对象属性名差不多。 例子中,数组里的索引,和对象里属性名,其实都是一回事。只不过数组的索引从“0”开始罢了。

    也可以理解为,数组是经过优化排序的对象。因为排序的优化,所以用索引来遍历整个数组,比访问常规的对象属性要方便的多。我想这也是数组的意义所在。

    02

    关于数组的神奇,首先让我惊讶的是它的索引是从“0”开始。

    为何不从“1”开始?开始询问“度娘”。网上一大堆回答,从编程基础知识,到计算机基础科学,让我陷入浩瀚的知识海洋之中,然后彻底懵逼。

    只有一个答案,让我看懂了。为何索引从“0”开始。因为这属于“乌龟的屁股长痔疮”,“烂龟腚(烂规定)”。

    好吧,既然是规定,咱啥不说了,执行就是了。

    不过,值得注意的是,数组的长度(length)是从1开始计数,有一个值,算一个值。不能从零计数。

    03

    另外还有一类数组,比较奇葩----稀疏数组

    例如: var array=[,  ,  ,  ];

    这可不是一个空数组,他是一个稀疏数组,他也有值,

    只不过值为:【undefined,undefined,undefined】。这个数组仍有长度(length),长度为3。

    这也解释了为何数组中有一个元素删除了,可长度仍然不变。

    关于数组知识,之前我接触最多的知识就是遍历数组,也就是“for循环”。经过一周的JavaScript数组基础知识温习,我感觉到数组的知识很多。光数组方法有近20种

    什么是数组方法?我个人浅显理解就是,通过运用一些函数,将数组进行排序、过滤、运算、简化、搜索等操作。这些针对数组而内置的函数,就是数组的方法。说白了就是数组的函数。

    从join()、reverse()、sort()、push()、pop()到forEach()、reduce()......

    可谓眼花缭乱,这些方法中,有些看上去很相似,但其实有着本质区别。

    比如:splice()方法,与slice()方法,这两个方法拥有非常相似的名字,但是功能有着本质的区别。因为splice()方法,不仅会返回一个新的数组,还会修改最初调用的数组。

    这么多数组方法,都是根据编程的需求来选择。而这些方法,本质上来讲,其实也是一个函数,一个操作数组的函数。只不过被内置了,我们看不到function字样,看不见函数体{ }罢了。

    04

    数组虽然看上去就是两个方括号,但是这里面的学问可谓另有乾坤。神奇的数组,需要们花时间去挖掘他,掌握它,直至熟练运用它。

    JavaScript语言学习,我在进行中,加油......

    相关文章

      网友评论

          本文标题:神奇的数组

          本文链接:https://www.haomeiwen.com/subject/vaubpxtx.html