当前位置:首页 > javascript > 正文内容

数组有哪些原生方法

自由小鸟6年前 (2019-08-06)javascript3483

赋值方法:
pop 和 push   

pop // 删除数组最后一个元素,返回被删除的元素

push // 在数组尾部插入1-N个元素,返回操作后数组的length


shift     //  删除数组第一个元素,返回被删除的元素

unshift  // 在数组头部插入1-N个元素,返回操作后数组的length

splice 

Array.splice(index , howMany[, element1[, ...[, elementN]]]); 

参数:

index:规定从何处添加/删除元素。

howmany:规定应该删除多少元素。

elements:规定要添加到数组的新元素,从 index 所指的下标处开始插入。

splice方法是对 pop、push、shift、unshift 的一个补充。

返回值是被删除的元素。



reverse  // 颠倒数组中元素的顺序,并返回逆序后的数组

sort     Array.sort([compareFunction]);

如果调用该方法时没有使用参数,将按字母顺序对数组中的元素进行排序。

说得更精确点,是按照字符编码的顺序进行排序。


访问方法
concat  Array.concat(value1, value2, ..., valueN);    // 链接2个或多个数组,并返回合并后的数组join
slice     Array.slice(begin[, end]);    // 数组中返回选定的元素

toString  Array.toString();    // 方法可把数组转换为字符串,并返回结果

indexOf      Array.indexOf(searchElement[, fromIndex]);    // 从头开始搜索

lastIndexOf  Array.lastIndexOf(searchElement[, fromIndex]);    // 从尾开始搜索


迭代方法
forEach   Array.forEach(callback[, thisArg]);    // 从头到尾遍历一次数组,并为数组中的每个元素,调用指定的函数map

参数:

callback:遍历数组时调用的函数

thisArg:指定 callback 的作用域

另外,callback会调用三个参数:

value:数组元素

index:数组索引

array:数组本身

1[1, 2].forEach(function(value, index, array) {2console.log(value, index, array);3});4//return5//1 0 [1, 2]6//2 1 [1, 2]

Note:forEach是无法通过break来中断数组的遍历。

解决方法:利用try方法来抛出异常,终止遍历。


filter    // 遍历数组调用方法,满足条件(返回true)的元素,将被添加到返回值的数组中some
every
reduce      // 使用指定的方法将数组元素进行组合,按索引从低到高(从左到右)

reduceRight  // 使用指定的方法将数组元素进行组合,按索引从高到低(从右到左)

     


版权声明:本文由Web学习之路发布,如需转载请注明出处。

本文链接:https://webge.net/?id=57

“数组有哪些原生方法” 的相关文章

正则的规则

正则的两个特点:懒惰:如果没有设置全局g的情况下,只匹配1次,这时候的lastIndex的值是0贪婪:...

event-loop

event-loop

如果知道js运行机制,在工作中会帮助我们更好的理解和编写代码,也知道为什么js是单线程js为什么是单线程原因,就是为了避免DOM渲染的冲突异步是一种“无奈”的解决方案,虽然有很多问题,如下:1,没按照书写方式执行,可读性差2,callback中不容易模块化什么是event-loop1,同步代码,直接...

最全的js运行机制

最全的js运行机制

主线程Event Queue:(微任务,宏任务) 1,主线程执行完后2,到Event Queue里找,先执行微任务,再宏任务...

防抖和节流

如果我在一个时间内只执行一次,最好用防抖,如果只是想在执行时,设置一下间隔时间那么用节流 防抖是在一个时间内只能执行一次,如果频繁操作就会清除重新开始计算执行,我设置的时间内整个过程中只会执行一次/* 函数的防抖 debounce,不是某个事件触发就去执行函数,而是在指定的时间间隔内执行...

js 宏任务和微任务

js 宏任务和微任务

首先讲粗略说一下宏任务和微任务宏任务:script(整体代码), setTimeout, setInterval微任务包括: Promise, MutationObserver(html5新特性),process.nextTick。 代码从上至下在执行过程,遇到Promise,new Promi...

SSO单点登陆

1、单点登录实现原理1)登录 注意:1)跳转SSO验证登录时,需要使用sendDirect重定向;2)浏览器与SSO之间建立的会话成为全局会话。扩展:a.spring项目如何获取本机的IP地址? 获得仅为ip地址不带端口b.spring项目如何获取项目端口? 2)注销 SSO认证中心有一个全...