美文网首页饥人谷技术博客
JavaScript中的数组(Array)

JavaScript中的数组(Array)

作者: 张路1806 | 来源:发表于2018-11-05 17:13 被阅读4次

简单归纳一下数组的概念和用法

概念

在window全局对象的哈希表中,存在标准库和非标准库。其中标准库中的数组,就是今天介绍的重点。简单对比一下,常用的类似于String() boolean() Number() ,这三个都是使用临时调用的方式,使用标准库中的属性,而Array()的用法则是和Object()一样,返回的是一个对象,只不过Array()会比Object()在原型链上多一个数组的原型。另外Array()也可以写成new Array(),他们是完全等价的。

表现形式

数组的表现形式是[],数组中他们的key是从0开始的自然数序列,并且最后是有一个length的属性,length的value是由数组中的属性个数决定的。

定义

数组是一种原型链中包含Array prototype的对象

用法

  1. var a = Array(arguments)
  2. var a = new Array(arguments)
  3. var a = []
    需要注意的是前两种方式都是使用全局对象声明的方式,在这两种方式中参数(arguments)的数量不同,会导致一些意向不到的结果。假如arguments的数量多于1,则和第三种方式一样

    但如果arguments的数量为1个时,用前面两种方式生成的数组内部并非是一个value为3的key,而是length为3,有三个空value在其中。而第三种方式仍然很正常。

Array和function的关系,Array和Objec的关系

Array和函数都属于对象,各自有各自的原型。
array是Object一种,Array不仅有object的原型,而且也有自身特有的原型。

伪数组

伪数组就是看起来像数组的对象,有着数组很多相似之处,但是却没有数组的原型。因此,凡是必须调用数组原型的才能使用的方法,伪数组都无法使用。


伪数组.png

常用的数组API

  1. Array.forEach(function(value,key){})
  • forEach前面必须是数组,()里面必须是函数,value和key缺一不可
  • 这个API的作用是,给每一个key:value执行一遍函数
    forEach.png
  1. Array.sort(function(value1,value2){return a-b})
  • value1和value2是数组的前面两个value,a和b分别是value1,value2对应的两个值
  • 这个API的作用是,根据a-b的值来快速排序原数组,顺序可以用a-b/b-a来确定升序或者降序。


    sort.png
  1. Arry.join('any')
  • 括号里的必须是字符串
  • 这个API的作用是,在每一个value之间插入字符串,并最后返回字符串。


    join.png
  1. Array.concat( another Array)
  • ()里面必须是一个数组,可以是空数组
  • 这个API的作用是,让两个数组合并成一个新数组
  • 当()里是空数组时,相当于拷贝原数组,生成一个新数组


    concat.png
  1. Array.map(funciton(value,key){})
  • 用法和forEach相同,并且会返回最后的结果。


    map.png
  1. Array.filter(function(value,key){return 判断条件})
  • return 后面接的是条件判断表达式
  • 这个API的作用是,让符合条件到value筛选出来
    filter.png
    7 . Array.reduce(function(返回值,当前的value){},init)
  • init是指返回值的初始值
  • 返回值是指上一次运算的结果
  • 当前的value是指当前循环中value值
  • 这个API的作用是,让循环中的每一个value进行{}里面的代码。


    reduce.png

相关文章

网友评论

    本文标题:JavaScript中的数组(Array)

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