专栏首页十月梦想数组截取slice和splice区别

数组截取slice和splice区别

在数组截取slice和splice都可以实现数组对象的截取,那么这两个有什么区别呢?当然我们先从代码实例推测一下!

var arr=[0,1,2,3,4,5,6,7,8,9];//设置一个数组
console.log(arr.slice(2,7));//2,3,4,5,6
console.log(arr.splice(2,7));//2,3,4,5,6,7,8
//由此我们简单推测数量两个函数参数的意义,
slice(start,end)第一个参数表示开始位置,第二个表示截取到的位置(不包含该位置)
splice(start,length)第一个参数开始位置,第二个参数截取长度

由此我们只简单看出了两个方法的参数的意义,那么是否对数据的原值发生改变呢?我们进一步进行验证?

//为了避免嫌疑,我们这次给定两个变量赋予相同的数组
var x=y=[0,1,2,3,4,5,6,7,8,9]
console.log(x.slice(2,5));//2,3,4
console.log(x);[0,1,2,3,4,5,6,7,8,9]原数组并未改变
//接下来用同样方式测试splice
console.log(y.splice(2,5));//2,3,4,5,6
console.log(y);//[0,1,7,8,9]显示原数组中的数值被剔除掉了

小结:slice和splice虽然都是对于数组对象进行截取,但是二者还是存在明显区别,函数参数上slice和splice第一个参数都是截取开始位置,slice第二个参数是截取的结束位置(不包含),而splice第二个参数(表示这个从开始位置截取的长度),slice不会对原数组产生变化,而splice会直接剔除原数组中的截取数据!

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

我来说两句

0 条评论
登录 后参与评论

相关文章

  • ES6数组遍历之forEach,map和filter

    在之前我们需要去循环数组,通常使用的是for循环,去循环数组的下标,而在ES6中提供了一种新的方式进行遍历数组!在看这个之前我们先对比一下之前的遍历方式!

    十月梦想
  • 我的小程序---日程计时微信小程序实例

    最近大半年都在忙(闭关中)!由于准备升学,倒腾博客和代码时间较少!特此想各位博友表示歉意!

    十月梦想
  • ES6基础语法之箭头函数

    ES6直接在参数中=默认值就解决,上述中只是出一个参数的默认值,多个参数下ES6的便利性毋庸置疑!

    十月梦想
  • RSS 订阅

    博客提供 RSS 订阅应该是标配,这样读者就可以通过一些聚合阅读工具订阅你的博客,时时查看是否有文章更新,而不必每次都跳转到博客上来查看。现在我们就来为博客添加...

    追梦人物
  • 使用Tensor2Tensor和10行代码训练尖端语言翻译神经网络

    有许多库可以帮助人们构建深度学习应用程序,但如果想使用最新架构的最先进模型和最少的代码,有这样一个API脱颖而出:Google的Tensor2Tensor。我通...

    AiTechYun
  • 查询局域网电脑的IP,MAC地址

    如何在自己电脑端查看局域网中所有用户计算机的IP和MAC地址呢?有时为了局域网管理的需要,可以需要批量获取局域网电脑的IP和MAC地址。以下就与大家分享一下获取...

    似水的流年
  • 查询局域网电脑的IP,MAC地址

    如何在自己电脑端查看局域网中所有用户计算机的IP和MAC地址呢?有时为了局域网管理的需要,可以需要批量获取局域网电脑的IP和MAC地址。以下就与大家分享一下...

    似水的流年
  • 游戏场景下的DDoS风险分析及防护

    本篇文章主要是分享游戏业务面临的安全风险场景,以及基于这些场景的特点,我们应该如何做好对应的防护。

    腾讯游戏云
  • 通俗的解释一下什么是 RPC 框架?

    首先了解什么叫RPC,为什么要RPC,RPC是指远程过程调用,也就是说两台服务器A,B,一个应用部署在A服务器上,想要调用B服务器上应用提供的函数/方法,由于不...

    李海彬
  • 一文读懂,深入浅出 RPC框架RPC 功能目标RPC 调用分类RPC 组件职责总结

    RPC 的主要功能目标是让构建分布式计算(应用)更容易,在提供强大的远程调用能力时不损失本地调用的语义简洁性。为实现该目标,RPC 框架需提供一种透明调用机制让...

    美的让人心动

扫码关注云+社区

领取腾讯云代金券