JavaScript的引用类型(二)--数组类型(var colors = new Array())

==>Array类型


ECMAScript数组每一项可以保存任何类型的数据,且大小可以动态调整

创建数组的基本方法有两种:(使用new操作符创建使用数组字面量表示法

使用new操作符创建
省略new操作符
使用数组字面量表示法创建

数组的length属性:不是只读的,通过设置这个属性,可以从数组的末尾移除项或向数组中添加新项。

移除colors[2]项
将length属性设置为大于数组项数的值,则新增的每一项都会取得undefined值

检测数组:

instanceof() 和  isArray()

转换方法:

toString() toLcaleString() valueOf()

toLocalString()方法经常也会返回与toString()和valueOf()方法相同的值,但也不总是如此。

join()方法分隔字符串:

栈方法:

push()pop()

shift()push()实现先进先出的效果

unshift()pop()实现从数组的前端添加项,从数组末端移除项

重排序方法:

reverse()sort()

reverse()方法用于反转数组项的顺序。

sort()默认方法按升序排列数组项,其会调用每个数组项的toString()转型方法,然后比较得到的字符串,以确定如何排序。但其往往得不到自己想要的结果。

出现了不想要的结果:5出现在15后面

因此sort()方法可以接受一个比较函数作为参数,以便我们制定哪个值位于哪个值的前面。

升序
降序
上面的简易比较函数事项的是降序

操作方法:

concat() slice()splice()

-->concat()方法可以基于当前数组中的所有项创建一个新数组,其默认会创建当前数组一个副本,然后将接收到的参数添加到这个副本的末尾,最后返回新构建的数组。

默认无参数的情况下吗,它只是复制当前数组并返回副本

-->slice()能够基于当前数组中的一个或多个项创建一个新数组,其可以接受一或两个参数,即要返回的起始和结束位置(区间范围为左闭右开)

slice()方法不会影响原始数组,上述concat()方法也是

-->splice()主要用于向数组中部插入项,但是这种方法的方式则有三种:删除、插入、替换

位置方法:

indexOf()  lastIndexOf()

第二是0,原因是person对象放入数组中,返回该person对象在数组中的第0个位置,第一个找不到自己,所以就返回-1

迭代方法:ECMAScript为数组定义了5个迭代方法。每个方法都接收两个参数:要在每一项上运行的函数和(可选的)运行该函数的作用域对象--this的值。

传入这些方法中的函数会接收三个参数数组项的值该项在数组中的位置数组对象本身

every()  filter()  forEach()  some()  map(   )

some()和every()的区别
filter()方法
map()方法
forEach()会依次弹出alert警告框,相当于一个for循环

缩小方法:


最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 第5章 引用类型(返回首页) 本章内容 使用对象 创建并操作数组 理解基本的JavaScript类型 使用基本类型...
    大学一百阅读 3,272评论 0 4
  • 本章内容 使用对象 创建并操作数组 理解基本的 JavaScript 类型 使用基本类型和基本包装类型 引用类型的...
    闷油瓶小张阅读 697评论 0 0
  • 数组是值的有序集合。每个值叫做一个元素,而每个元素在数组中有一个位置,以数字表示,称为索引。 JavaScript...
    劼哥stone阅读 1,148评论 6 20
  • 春节假期总算是见到了一年未见的初高学同学,碰上的同学绝大多数我都说了现在在做的产品,当然得到了各种反馈。给了我意见...
    小梁Ricardo阅读 217评论 0 1
  • 我很恐慌,大抵是时间过得太快,而我回过头发现自己啥都没有,啥都没做,而看着眼下,我却无能为力! 我很恐慌,是...
    李梦伟521阅读 557评论 2 1