1.slice(start,end)(参数可选)

slice() 方法返回一个从开始到结束(不包括结束)选择的数组的一部分浅拷贝到一个新数组对象。原始数组不会被修改。
var a = [‘a’, ‘b’, ‘c’, ‘d’]
var b = a.slice(0, 1)
console.log(a); //[‘a’, ‘b’, ‘c’, ‘d’]
console.log(b); //[‘a’]

不传参数,默认从0开始,可以复制数组:
var a = [‘a’, ‘b’, ‘c’, ‘d’];var c = a.slice();//复制原数组(浅复制)。
console.log(a); //[‘a’, ‘b’, ‘c’, ‘d’];
console.log©;//[‘a’, ‘b’, ‘c’, ‘d’];

参数可以是负数,begin为负数表示从原数组倒数第几位开始复制,如果不传end,复制到数组末尾。如果end大于数组长度,依然复制到数组结尾。
var a = [‘a’, ‘b’, ‘c’, ‘d’];var d = a.slice(-2);
console.log(a); //[‘a’, ‘b’, ‘c’, ‘d’];
console.log(d); //[‘c’, ‘d’];

end为负数,表示在倒数第几位结束复制,不包括end。
var a = [‘a’, ‘b’, ‘c’, ‘d’];
var e = a.slice(1, -1);
console.log(e); //[ ‘b’, ‘c’]

slice() 方法还可以将类数组转换成数组
function list() {
return Array.prototype.slice.call(arguments);
}
var list1 = list(1, 2, 3); // [1, 2, 3]
或者
function list() {
return [].slice.call(arguments)
}
var list1 = list(1, 2, 3); // [1, 2, 3]

2.splice(start, deleteCount, item1, item2, …) 方法通过删除现有元素和/或添加新元素来更改一个数组的内容。而slice()不会修改原数组

start:(必选)
指定修改的开始位置(从0计数)。如果超出了数组的长度,则从数组末尾开始添加内容;如果是负值,则表示从数组倒数第几位(从1计数)。

deleteCount:(可选)
整数,表示要移除的数组元素的个数。如果 deleteCount 是 0,则不移除元素。这种情况下,至少应添加一个新元素。如果 deleteCount 大于start 之后的元素的总数,则从 start 后面的元素都将被删除(含第 start 位)。
如果deleteCount被省略,则其相当于(arr.length - start)。
item1, item2, … (可选)要添加进数组的元素,从start 位置开始。如果不指定,则 splice() 将只删除数组元素。

js中slice、splice用法与区别相关推荐

  1. JS中slice,splice,split的区别

    1.slice : 定义:接收一个或两个参数,它能够建立一个由当前数组中的一项或多项组成的新数组,注意是新数组哦~ 也就是说它不会修改原来数组的值. 用法:slice( para1 ),会截取从par ...

  2. js中 slice , splice , split 的用法记录

    1.slice不改变原数组 a.slice(1,5)删除数组从序号为1开始到序号为5(不包含序号为5)之间的元素 2.splice改变原数组 a.splice(1,3) 删除数组从序号为1的元素开始, ...

  3. js中几个对象的区别和用法

    js中几个对象的区别和用法 今天总结一下js中几个对象的区别和用法: 首先来说说 parent.window与top.window的用法 "window.location.href" ...

  4. append和appendTo的区别以及js中的appendChild用法

    append和appendTo的区别以及js中的appendChild用法 很多像我一样接触JS没多久的小白对append和appendTo的区别以及js中的appendChild用法都会有所模糊,下 ...

  5. js中parentNode和parentElement的区别和用法

    了解本篇的基础必须知道什么是节点,关于html dom节点知识点和节点类型的知识,分别看<js节点都有哪些类型?怎么判断是哪种节点类型?>和<js属性节点获取和移除>,下面直接 ...

  6. js中的extend的用法及其JS中substring与substr的区别

    1.    JS中substring与substr的区别 之前在项目中用到substring方法,因为C#中也有字符串的截取方法Substring方法,当时也没有多想就误以为这两种方法的使用时一样的. ...

  7. jQuery中slice()方法用法实例

    本文实例讲述了jQuery中slice()方法用法.分享给大家供大家参考.具体分析如下: 此方法可以选取匹配元素集的子集. 语法结构: 复制代码 代码如下: $(selector).slice(sta ...

  8. JS中 let 和var的区别

    JS中let和var 的区别 简单介绍let var的常见变量提升 ES6可以用let定义块级作用域变量 let配合for循环的独特应用 let没有变量提升与暂时性死区 let变量不能重复声明 简单介 ...

  9. php function函数用法,js的function函数是什么?js中function的用法

    本篇文章给大家带来的内容是关于js的function函数是什么?js中function的用法,有一定的参考价值,有需要的朋友可以参考一下,希望对你有所帮助. Function与函数 Function是 ...

  10. slice在php里面什么意思,js中slice()使用方法

    本文主要和大家分享js中slice()使用方法,slice()通过索引位置获取新的数组,该方法不会修改原数组,只是返回一个新的子数组. 用法:arrayObj.slice(start,end)arra ...

最新文章

  1. SAP MM 明明有需求,为啥MRP RUN后没有PR单据产生?
  2. python无法选择安装位置图_python怎么安装?(教程图解)
  3. c++三维静态数组的定义与作为函数的传递
  4. php培训出生做微电影网站的,微电影分享网站织梦整站源码
  5. MaxCompute 实现增量数据推送(全量比对增量逻辑)
  6. python自己重启自己程序_python 自动重启本程序
  7. [LUOGU] P2024 食物链
  8. java22:API-Object-String
  9. Web 设计与开发终极资源大全
  10. 【java】打印一个对象即打印出该对象toString()返回值
  11. 人工智能和金融是天作之合的5个理由
  12. SpringMVC传递数组请求问题
  13. 游戏服务器高性能设计-游戏设计与开发(3)
  14. excel填充序列_EXCEL工资表制作后导入工资条方法,实现1秒搞定,万人群发
  15. RANSAC算法详解+Python实现
  16. ORACLE RAC安装问题解决记录(5)- 未设置cluster_database导致 ORA-01102 cannot mount database in EXCLUSIVE mode
  17. C# 判定素数 高效算法 拉宾米勒算法
  18. 中央空调系统运行原理以及相关设备介绍
  19. Scala之特质特质Trait
  20. 计算机学习(四)基本电路原理——实现反相控制

热门文章

  1. 多张图片如何合成gif?在线生成gif图片的方法
  2. 创建一个富有个性的海盗天文望远镜
  3. 全球物联网技术暨软件应用趋势分析
  4. java枚举怎么遍历,java遍历枚举_java枚举的两种遍历方法
  5. 面向对象(一):类和对象
  6. 20220512 | QQ文件管理 个人文件夹无法访问问题
  7. Java内卷真相揭秘!强烈建议阅读!
  8. C++ STL(28):逻辑运算(逻辑与、逻辑或、逻辑非)
  9. 工业革命中的产业规律:原有的产业+蒸汽机=新的产业【所有技术革命的本质规律】
  10. (附源码)springboot螺丝加工厂订单管理 毕业设计 010346