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

数组有哪些原生方法

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

赋值方法:
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://www.webge.net/?id=57

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

HTTP协议类

HTTP协议类

HTTP协议的主要特点    1,简单快速,每个资源是固定的,通过固定url就可以了    2,灵活  head有数据类型,一个HTTP协议可以完成不同数据类型的传输    3,无连接&nb...

正则的规则

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

js 深浅拷贝

对象浅拷贝Object.assign,也可以做到浅拷 slice let obj=[11,22,33,44,['aa','bb','cc']] let aaa=obj.slice(0); aaa[4][0]='ccc' c...

js 判断数组,对象

arr=[1,2,3,4]; obj={a:'aaa'}; console.log(arr.constructor===Object) //false arr instanceof Array //true Object.prototype.toString.call(...

js 宏任务和微任务

js 宏任务和微任务

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

js原型链

js原型链

看到好的文章赶紧都收藏起来,但是有时收藏的太多内存不够呀,还是记录到我的博客上比较好,有时好的文章突然的某天就打不开了,那是多少痛的领悟,哈哈 文章转自 https://juejin.im/post/5d31ea79e51d457778117452...