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

数组有哪些原生方法

自由小鸟5年前 (2019-08-06)javascript2792

赋值方法:
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

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

this指向

p.p1 {margin: 0.0px 0.0px 0.0px 0.0px; line-height: 19.0px; font: 13.0px 'Helvetica Neue'; color: #000000}es5 中 this指向该函数被调用的对象es6 中箭头函数的this指向是定义时的对象...

数组去重

var a=[1,3,4,5,6,1,3,9,6]; //代码是去重后的 function arrfn(data){ let newObj={}; for(let i=0;i<data.length;i++...

最全的js运行机制

最全的js运行机制

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

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认证中心有一个全...

IOS软键盘收起留白问题及Input光标过长问题

1.Input光标过长问题iso 中input 光标长度与line-height有关,input本身字体就是上下居中的因此不需要设置,但如果想控制光标的长度可以通过设置line-height高度来控制; 2.IOS软键盘收起留白 1.可以通过输入框失去焦点 <div class=&quo...