资讯专栏INFORMATION COLUMN

数组方法的二三事

VincentFF / 1677人阅读

摘要:常用的数组方法删除数组的最后一个元素,返回被删除的元素,原数组长度减。原数组发生了变化,但没有创建新的数组。将指定数组进行排序,返回排好序的数组。颠倒数组元素的顺序,返回逆序后的数组。

数组,对于每一个前端人员来说是非常常见且重要的数据结构之一,也是面试常常出现的题目,掌握数组的方法能帮助我们更高效地处理问题。不过在数组的学习中,我们常常会混淆数组本身的方法和Javascript提供的数组的方法,在这里只简单归纳一下。

常用的数组方法 1、pop()

删除数组的最后一个元素,返回被删除的元素,原数组长度减1。原数组发生了变化,但没有创建新的数组。

2、shift()

删除数组的第一个元素,返回被删除的元素,原数组长度减1。原数组发生了变化,但没有创建新的数组.

3、unshift()

添加元素到数组的第一位,返回添加后的数组的长度,可见,原数组长度加1。原数组发生了变化,但没有创建新的数组。

4、push()

添加元素到数组的最后,返回添加后的数组的长度,可见,原数组长度加1。原数组发生了变化,但没有创建新的数组。

5、sort()

将指定数组进行排序,返回排好序的数组。改变了数组。

6、reverse()

颠倒数组元素的顺序,返回逆序后的数组。改变了数组。

7、join(separator)

返回字符串值,不影响原数组。

8、toString()

将数组转为字符串,与join()的默认效果一致

9、splice(start, end)

返回被删除的元素,从start开始删,删end个(包含start)。

splice(start, end, item):返回被删除的元素,并插入新的元素item(从被删的位置插入)

10、concat()

拼接两个或多个数组,返回新数组,对原数组没有影响

11、slice(start, end)

返回截取的新数组,从start开始截取,截end个,但截取的元素不包含第end个的元素,即截取end-1个。
slice(0):复制旧数组,生成新数组。

ES5新增的方法 1、indexOf()

返回查找项第一次在数组中出现的位置,第一个参数为查找项,第二个参数可选,为查找开始的位置。如果查找不到,则返回 -1。这常常应用在数组去重的案例中。

2、lastindexOf()

从后往前找,查找方向与 indexOf 相反。

3、every(callback, [this.Arg])

当数组的所有元素都满足条件时,返回 true,否则返回false。

条件是item>3,只有4,5,6,7大于3,返回false
4、some(callback, [this.Arg])

只要数组有一项元素满足条件,就返回 true,否则返回false。

条件是item>3,4,5,6,7大于3,返回true
5、filter(callback, [this.Arg])

满足条件的元素组成新的数组

条件是item>3,4, 5, 6, 7大于3,返回[4, 5, 6, 7]
6、map(callback, [this.Arg])

每次调用函数处理后的值组成新的数组

var arr = [{"name": "Amy", age: 20}, {"name": "Sheldon"}, age: 22];
var result = map(function(item, index, array){
  return item.age   //返回[20, 22]
})
7、forEach()

循环遍历,与for循环差不多,适用于循环次数未知,缺点是不能中断循环

文章版权归作者所有,未经允许请勿转载,若此文章存在违规行为,您可以联系管理员删除。

转载请注明本文地址:https://www.ucloud.cn/yun/100888.html

相关文章

  • 与dom事件流相关的二三事

    摘要:但对于整个事件流上的别的元素来说,执行顺序还会受到另外一个因素的影响。以上面的场景为例,在捕获阶段执行的事件,如果执行,则事件流终止,不会到达目标阶段,的世界则不会被执行执行结果为线上参考事件流 向dom绑定事件的事件的三种方式 行内绑定 按钮 js内绑定 btnDom.onclick = function clickHandler() { console.log(click)...

    Anleb 评论0 收藏0
  • 分表后需要注意的二三事

    摘要:分表字段的选择。问题产生之前提到在分表应用上线前我们需要将原有表的数据迁移到新表中,这样才能保证业务不受影响。虽说凌晨的业务量下降,但依然有少部分的请求过来,也会出现各种数据库异常。 showImg(https://segmentfault.com/img/remote/1460000019462791?w=496&h=285); 前言 本篇是上一篇《一次分表踩坑实践的探讨》,所以还没...

    dongxiawu 评论0 收藏0
  • 前端渲染过程的二三事

    摘要:前端渲染过程的二三事本文不会介绍整个前端渲染过程的步骤,只是记录最近阅读的文章的些许思考和感悟。那么现在我们可以明白这个问题的关键所在了,因为在大部分页面中是拥有的,而由于其解析顺序,那么在事件之前必定已经成功构造树。 前端渲染过程的二三事 本文不会介绍整个前端渲染过程的步骤,只是记录最近阅读的文章的些许思考和感悟。(文章地址一(系列),文章地址二) 希望大家在阅读这篇文章之前能将上述...

    Rindia 评论0 收藏0
  • 关于UUID的二三事

    摘要:规范定义来自于发布的一个规范。其中的字母是进制表示,大小写无关。在里面的使用的例子其中,最后的个字符就是我电脑网卡的地址版本安全的安全的和基于时间的算法相同,但会把时间戳的前位置换为的或。 一、简介 UUID,是Universally Unique Identifier的缩写,UUID出现的目的,是为了让分布式系统可以不借助中心节点,就可以生成UUID来标识一些唯一的信息; GUID,...

    2json 评论0 收藏0

发表评论

0条评论

最新活动
阅读需要支付1元查看
<