资讯专栏INFORMATION COLUMN

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

Yangyang / 1511人阅读

摘要:用来对数组元素进行添加删除操作删除元素并返回被删除的元素从开始删除个元素返回从开始往后删除个元素返回删除并添加元素添加的元素位于数组前面添加的元素返回添加用来对数组进行排序参数为自定义的比较函数升序例如比较函数值说明排在的后面降序例

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://www.ucloud.cn/yun/106763.html

相关文章

  • js数组常用方法总结

    摘要:在为的位置,删除个元素,插入删了为的元素,替换为删了为的元素数组的增删改都可以用完成返回从原数组中指定开始下标到结束下标之间的项组成的新数组该方法不会改变原始数组。不传值表示克隆了除了正常用法,经常用来将对象转换为。 js 中数组的常用方法总结 arr.fill(a);//所有子元素 都改为 a; [{a: 1},{b: 2}, ...Array(8).fill({}, 0)] //...

    luckyw 评论0 收藏0
  • 那些年,前端学习之路疑难杂症(三):数组和Date一些梳理

    摘要:将指定的数字索引值转换成字符串索引值变成,然后将其作为属性名来用。返回一个由删除元素组成的数组。该方法返回的数组元素是调用的数组的一个子集。使用的函数有四个参数初始值积累值数组元素元素索引数组本身。 前言 很多人在学习原生JS的过程中会遇到一些疑惑,比如在学习array时,就很容易搞不清哪些方法会改变原来数组,哪些方法不会改变原来数组?再比如很多人会使用new Date()获取时间,却...

    xeblog 评论0 收藏0
  • 面试官问你基本类型时他想知道什么

    摘要:前言面试的时候我们经常会被问答的数据类型。大部分情况我们会这样回答包括基本类型值类型或者原始类型以及的引用类型等我曾经也是这样回答的,并且一直觉得没有什么问题。 前言: 面试的时候我们经常会被问答js的数据类型。大部分情况我们会这样回答包括1、基本类型(值类型或者原始类型): Number、Boolean、String、NULL、Undefined以及ES6的Symbol2、引用类型:...

    AlienZHOU 评论0 收藏0
  • 温故知新之JS基础

    摘要:访问属性是通过操作符完成的,但这要求属性名必须是一个有效的变量名小红的属性名不是一个有效的变量,就需要用括起来。闭包应用封装私有变量箭头函数箭头函数相当于匿名函数,并且简化了函数定义。 数据类型 NAN NaN === NaN; // false 唯一能判断NaN的方法是通过isNaN()函数: isNaN(NaN); // true 浮点数的相等比较: 1 / 3 === (...

    Dr_Noooo 评论0 收藏0
  • 「JavaScript」带你彻底搞清楚深拷贝、浅拷贝和循环引用

    摘要:引用类型值指的是那些保存在堆内存中的对象,所以引用类型的值保存的是一个指针,这个指针指向存储在堆中的一个对象。因此当操作结束后,这两个变量实际上指向的是同一个在堆内存中的对象,改变其中任意一个对象,另一个对象也会跟着改变。 一、为什么有深拷贝和浅拷贝?      这个要从js中的数据类型说起,js中数据类型分为基本数据类型和引用数据类型。     基本类型值指的是那些保存在栈内存中的简...

    Mike617 评论0 收藏0

发表评论

0条评论

Yangyang

|高级讲师

TA的文章

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