资讯专栏INFORMATION COLUMN

javascript数组方法splice()和slice()的作用和区别的总结

crelaber / 586人阅读

摘要:和唯一的共同点是都是对数组的操作,还有就是长的很像,有时候容易搞混。利用同样也可以实现根据索引删除某一项删除数组里的某一项返回一个新的数组不直接修改数组

splice() 和 slice()唯一的共同点是都是对数组的操作,还有就是长的很像,有时候容易搞混。

这两个最的区别:
splice()会改变原来的数组,返回的是被改变的内容,比如说通过splice删掉了某一项,那么返回的是删掉的这一项,当然还是会以数组的形式返回。
举个栗子

    let animals = ["ant", "bison","camel","duck","elephant"]
    console.log(animals.splice(2,1)) //["camel"]

被删掉的是索引未为2的一项,返回的也只有这一项
所以如果想删掉某一项,并不需要得到一个新的数组,只需要

   animals.splice(2,1)
   console.log(animasl)//["ant", "bison","duck","elephant"]
// 用某个元素替换掉数组里的某个元素 直接修改原来的数组
Array.prototype.replaceAryItem = function(index,val) {
    this.splice(index,1,val)
}

slice不会对原数组进行改变,会返回一个新的数组。利用slice同样也可以实现根据索引删除某一项

// 删除数组里的某一项 返回一个新的数组 不直接修改数组
Array.prototype.removeAryItemByIndex = function(index) {
    return this.slice(0,index).concat(this.slice(index+1))
}

文章版权归作者所有,未经允许请勿转载,若此文章存在违规行为,您可以联系管理员删除。

转载请注明本文地址:https://www.ucloud.cn/yun/104548.html

相关文章

  • JavaScript 处理数组函数总结

    摘要:从而将传入的数组误判为非数组。返回值把指定的值添加到数组后的新长度。方法用于删除并返回数组的最后一个元素返回值的最后一个元素。如果数组已经为空,则不改变数组,并返回值。 JavaScript的array可以包含任意数据类型,并通过索引来访问每个元素。 1、检测数组:instanceof、slice()、Array.isArray() 检测一个对象是不是数组的三种方法:(1)方法一:i...

    instein 评论0 收藏0
  • javascript高级编程-Array引用类型用法总结

    摘要:引用类型类型引用类型是一种数据结构,用于将数据和功能联系起来。 引用类型-Array类型 引用类型是一种数据结构,用于将数据和功能联系起来。 创建对象的方式: 1.new操作符 var array=new Array(); 2.字面量表示法创建 var array=[]; Array 检测数组:检测数组是基本类型还是引用类型 转换方法:将数组转换成字符串或数组对象 栈方法:后进先...

    CntChen 评论0 收藏0
  • JavaScript数组操作方法concat( )、slice( )、splice( )

    摘要:为什么炒冷饭了解这些方法就可以在很方业务场景使用,了解他们的用法也会带来很大的遍历这里我总结的是数组拼接法该方法基于当前数组创建一个新的数组副本,然后将参数添入该数组副本中的末尾,如果参数中包含一个或多个数组,该方法会将数组中的每一项都添加 为什么炒冷饭: 了解这些方法就可以在很方业务场景使用,了解他们的用法也会带来很大的遍历 concat( ) 这里我总结的是 数组拼接法 该方法基于...

    learning 评论0 收藏0
  • JavaScript数组使用方法总结

    摘要:第二种方式称为数组字面量表示法。是对数组进行排序。方法方法可以说是数组中功能最强大的方法,集多项功能于一身。的返回值为删除的元素组成的数组。不改变数组的方法转换方法方法主要是用来将数组的元素通过规定的方式连接成字符串。 作为最常用的类型,JavaScript中的数组还是和其他语言中有很大的区别的。主要体现在两点: 数组中的每一项都可以保存任何类型的数据 数组的大小可以动态调整 首先...

    cyixlq 评论0 收藏0
  • Javascript魔鬼

    摘要:发生这个异常的原因就是因为在调用函数时,中的已经不再指向对象而是指向了全局对象,由于下并没有属性,所以输出。在为绑定的上下文环境之后,并不会立即执行。方法用于检查数组中的是否存在符合条件的项,存在则返回否则返回。 写作意图 这篇文章用于总结一些javascript语言中常见的易混淆点。 call | apply | bind 在js中,最诡异莫测的莫过于this了,理解的不够深入或是应...

    daydream 评论0 收藏0

发表评论

0条评论

crelaber

|高级讲师

TA的文章

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