js中会改变原数组的一些方法

2019-08-15 admin

splice()

splice()用来对数组元素进行添加/删除操作

const a = [1,2,3,4,5,6,7]

删除元素并返回被删除的元素

a.splice(0,3) //从0开始删除3个元素返回 [4,5,6,7]
console.log(a) //[1,2,3]
a.splice(-1,1) //从-1开始往后删除1个元素返回 [7]
console.log(a) //[1,2,3,4,5,6]

删除并添加元素,添加的元素位于数组前面

a.splice(0,2,'添加的元素') //返回 ['添加',3,4,5,6,7]

sort()

sort()用来对数组进行排序,参数为自定义的比较函数

const a = [1,2,3,4,5]

升序 例如 (a,b) => a-b > 0 比较函数值 > 0 说明 a > b a排在b的后面

a.sort((a,b) => a-b > 0)
console.log(a) //[1,2,3,4,5]

降序 例如 (a,b) => a-b < 0 比较函数值 < 0 说明 a < b b排在a的后面

a.sort((a,b) => a-b < 0)
console.log(a) //[5,4,3,2,1]

可总结为比较函数的参数中大的总是排在后面的


pop()

pop()删除数组中的最后一位元素,并返回删除的元素

const a = [1,2,3,4]
a.pop() //返回值为 4
console.log(a) //[1,2,3]

push()

push()向数组末尾中添加元素,返回新数组的长度

const a = [1,2,3]
a.push(4) //返回值为 4
console.log(a) //[1,2,3,4]

unshift()

与shift()相对应 向数组开始的位置添加元素,返回新数组的长度

const a = [2,3,4]
a.unshift(a) //返回值为 4
console.log(a) //[1,2,3,4]

reverse()

reverse()反转数组中元素的顺序

const a = [1,2,3,4,5]
a.reverse()
console.log(a) //[5,4,3,2,1]

fill()

填充数组fill(value,start,end) value(必选) 为要填充的元素 start(可选) 填充开始的位置 end(可选) 填充结束的位置,默认为 this.length

const a = [1,2,3,4]
a.fill(5) //[7,7,7,7]
const a = [1,2,3,4]
a.fill('a',1,2) //[1,'a',3,4]

copyWithin()

将指定位置的元素复制到其他位置,不改变原数组的长度copyWithin(target,start,end) target(必选) 复制后的目标在这个位置开始替换初始的元素,若复制了一个元素则从这开始往后替换一个,复制了两个则替换两个,以此类推,若值为代表倒数从后开始替换 start(可选) 开始复制的位置包括复制时包括此元素,默认为 0 end(可选) 复制结束的位置,复制时不包括此位置,默认为 this.length

const a =[1,2,3,4,5,6]
a.copyWithin(0,2,4)
console.log(a) //[3,4,3,4,5,6]

[转载]原文链接:https://segmentfault.com/a/1190000020073838

本站文章除注明转载外,均为本站原创或编译。欢迎任何形式的转载,但请务必注明出处。

转载请注明:文章转载自 JavaScript中文网 [https://www.javascriptcn.com]

本文地址:https://www.javascriptcn.com/read-72504.html

文章标题:js中会改变原数组的一些方法

相关文章
vue 数组遍历方法forEach和map的原理解析和实际应用
一、前言 forEach和map是数组的两个方法,作用都是遍历数组。在vue项目的处理数据中经常会用到,这里介绍一下两者的区别和具体用法示例。 二、代码 1. 相同点 都是数组的方法 都用来遍历数组 两个函数都有4个参数:匿名函数中可传3...
2018-11-15
为什么要选择Nodejs?Nodejs有什么好处?
什么?JavaScript还能用作服务器编程! Caleb Madrigal是来自美国密尔沃基市的一名软件顾问。四年前,他在听说“将JavaScript用作服务器端语言”这样的说法时,认为那是一个荒唐的想法。有那么多服务器端语言可供选择,为...
2015-11-12
js性能优化 如何更快速加载你的JavaScript页面
确保代码尽量简洁 不要什么都依赖JavaScript。不要编写重复性的脚本。要把JavaScript当作糖果工具,只是起到美化作用。别给你的网站添加大量的JavaScript代码。只有必要的时候用一下。只有确实能改善用户体验的时候用一下。 ...
2015-11-12
10个强大的纯CSS3动画案例分享
我们的网页外观主要由CSS控制,编写CSS代码可以任意改变我们的网页布局以及网页内容的样式。CSS3的出现,更是可以让网页增添了不少动画元素,让我们的网页变得更加生动有趣,并且更易于交互。本文分享了10个非常炫酷的CSS3动画案例,希望大家...
2015-11-16
请前往任务中心完善资料即可激活会员
登录后,点击右上角的用户名,在下拉菜单中可以进去“我的任务” 注册自动激活,本站没有VIP!没有充值!没有推广任务等等 回复即可下载 ...
2015-11-18
Android中Okhttp3实现上传多张图片同时传递参数
之前上传图片都是直接将图片转化为io流传给服务器,没有用框架传图片。 最近做项目,打算换个方法上传图片。 Android发展到现在,Okhttp显得越来越重要,所以,这次我选择用Okhttp上传图片。 Okhttp目前已经更新到Okhttp...
2017-03-17
Node.js 2014这一年发生了什么
Node.js 的 2014 年充满了不幸和争议. 这一年 Noder 们经历了太多的伤心事, 经历了漫长的等待, 经历了沉重的分裂之痛. 也许 Noder 们不想回忆14年 Node.js land 发生的事情, 但正因为痛才更有铭记的价...
2015-11-12
v-charts | 饿了么团队开源的基于 Vue 和 ECharts 的图表工具
在使用echarts生成图表时,经常需要做繁琐的数据类型转化、修改复杂的配置项,v-charts的出现正是为了解决这个 痛点。基于Vue2.0和echarts封装的v-charts图表组件,只需要统一提供一种对前后端都友好的数据格式 设置简...
2018-05-24
详解HTML5游戏玩家流失原因
对任何类型的电子游戏来说,玩家流失都是一个无法回避的问题。玩家为什么离开游戏?近日,HTML5游戏设定师纳森·洛维托(Nathan Lovato)在游戏开发者网站Gamasutra撰写文章,解读了玩家离开游戏的16个理由。 HTML5游戏 ...
2015-11-12
Vue.js组件tab实现选项卡切换
本文实例为大家分享了vue插件tab选项卡的具体代码,供大家参考,具体内容如下 效果图: 代码如下: &lt;!DOCTYPE html&gt; &lt;html lang=&quot;en&quot;&gt; &lt;head&gt; ...
2017-03-13
回到顶部