一、splice() 方法通过删除或替换现有元素或者原地添加新的元素来修改数组,并以数组形式返回被修改的内容。此方法会改变原数组。

语法:array.splice(start[, deleteCount[, item1[, item2[, ...]]]])

参数:

start:指定开始修改的位置(0-n);如果指定的位置大于等于数组的长度,则会在数组后添加指定的数据;如果指定的是负数,则会从后往前查找(从-1开始计数),-1则表示最后一个数据相当于(array.length - 1),如果负数的绝对值大于等于数组的长度,则表示开始位置为第 0 位。

deleteCount:指定要移除的个数(从0开始),他只会移除"start"后面的数据(包括start本身);如果deleteCount为0或者负数,则不会移除任何数据

item1,item2....:要添加进数组的元素,从start 位置开始。如果不指定,则 splice() 将只删除数组元素。

返回值:

返回被移除的数组里的元素,组成一个新数组返回,如果没有任何元素被移除,则返回一个空数组

例子:

实现添加数据

// 在末尾添加数据let arr = ['李四', '张三', '王五', '小明', '小红'];// 这句话表示在索引为arr.length(5)的位置,移除0个,添加一个元素"狗蛋"arr.splice(arr.length, 0, '狗蛋');console.log(arr); //  ['李四', '张三', '王五', '小明', '小红', '狗蛋']console.log('------分割线------');// 在前面添加数据let arr1 = ['广东', '北京', '湖南', '湖北'];// 这句话表示在索引为0的位置,移除0个,添加一个元素'武汉'arr1.splice(0, 0, '武汉');console.log(arr1); // ['武汉', '广东', '北京', '湖南', '湖北']console.log('------分割线------');// 注意事项let arr2 = ['数学', '语文', '英语', '地理'];// 注意:// 1.start只要你所写的索引值大于他对应数组的索引值,不管多大,他只会在你原来的数组索引+1的位置上进行添加数据// 2.deleteCount 值为0或者负数 就表示不进行任何移除(删除)arr2.splice(100, -100, '化学');console.log(arr2); // ['数学', '语文', '英语', '地理', '化学']

实现数据删除

let arr = ['李四', '张三', '王五', '小明', '小红'];// 这句话表示 在索引为0的地方,移除一个元素arr.splice(0, 1);console.log(arr); // ['张三', '王五', '小明', '小红']console.log('----分割线----');// 多试几次let arr1 = ['广东', '北京', '湖南', '湖北'];// 这句话表示 在索引为2的位置,移除2个元素arr1.splice(arr1.length - 1, 1);console.log(arr1); //  ['广东', '北京', '湖南']

实现数据替换

let arr = ['李四', '张三', '王五', '小明', '小红'];// 这句话表示 在索引为0的位置,移除一个元素,替换成'狗蛋'arr.splice(0, 1, '狗蛋');console.log(arr); // ['狗蛋', '张三', '王五', '小明', '小红']

JS splice的用法相关推荐

  1. html函数splice,js splice方法怎么用?

    js splice()方法 splice() 方法用于添加或删除数组中的元素,然后返回被删除的元素. 注意:这种方法会改变原始数组. 语法:arrayObject.splice(index,howma ...

  2. 【ES6】JS类的用法class

    [ES6]JS类的用法class 一.概述 二.构造函数constructor 三.静态方法与静态变量 查看更多ES6教学文章: 参考文献 引言:由于JS之前一直没有特有的class来定义类的语法,E ...

  3. js事件监听器用法实例详解

    这篇文章主要介绍了js事件监听器用法,以实例形式较为详细的分析了javascript事件监听器使用注意事项与相关技巧,需要的朋友可以参考下 本文实例讲述了js事件监听器用法.分享给大家供大家参考.具体 ...

  4. node mysql json_Node.js JSON模块用法实例分析

    本文实例讲述了Node.js JSON模块用法.分享给大家供大家参考,具体如下: 一.JSON.stringify语法: JSON.stringify(value [, replacer] [, sp ...

  5. JS正则表达式常见用法实例详解

    这篇文章主要介绍了JS正则表达式常见用法,结合实例形式分析了javascript元字符.分组符.修饰符.量词基本含义,并结合具体案例形式分析了javascript正则基本使用技巧,需要的朋友可以参考下 ...

  6. 从一个html页面传值到另一个页面,两个html之间的值传递(js location.search用法)

    从一个html页面传值到另一个页面,两个html之间的值传递(js location.search用法) 转载,点击跳转

  7. Fabric.js 橡皮擦的用法(包含恢复功能)

    theme: smartblue 本文简介 点赞 + 关注 + 收藏 = 学会了 本文介绍 Fabric.js 的橡皮擦功能. Fabric.js 的基础包并没有包含橡皮擦模块,如果你的项目需要使用橡 ...

  8. 原生html例子,原生js的innerHTML用法示例

    这篇文章主要为大家详细介绍了原生js的innerHTML用法示例,具有一定的参考价值,可以用来参考一下. 感兴趣的小伙伴,下面一起跟随512笔记的小编罗X来看看吧. 上一篇简单提到了innerHTML ...

  9. splice 的用法

    splice 的用法 splice 是数组的一个方法,使用这个方法会改变原来的数组结构,splice(index ,howmany , itemX):这个方法接受三个参数,我们在使用的时候可根据自己的 ...

最新文章

  1. php 多线程上传,PHP多线程(pthreads)参数传递学习笔记
  2. 深圳大学计算机英语作业答案,2016年深圳大学大学计算机基础mooc课第四章答案...
  3. 信息学奥赛一本通(C++)在线评测系统——基础(一)C++语言—— 1065:奇数求和
  4. 信息安全系统设计基础第八周学习总结
  5. MySQL8.0 版本的安装
  6. 早教机器人刷固件_机器人线刷包_机器人刷机包_机器人固件包_机器人救砖包 - 线刷宝ROM中心...
  7. signature=0d9b3a8f96c5f64e92cd85aaf7e70ac0,Scale controller
  8. 《Android游戏开发详解》一2.17 对象是独立的
  9. 一个简易的选择小时(时分秒)的插件
  10. docker--删除container和image
  11. 解决时间控件input不能选择的问题
  12. 2021软考资料汇总:历年真题/学习手册/学习计划/考试大纲等资料
  13. GoF设计模式——工厂模式(C++实现)
  14. 【大话数据结构-数据结构绪论①】
  15. mysql8.0怎么设置中文版_MySQL 8.0 版本修改字符编码
  16. android shn1 获取_华为光猫获得Root Shell(shell的root权限)详细说明,接力sdgaojian发帖。...
  17. 20.数据集成、数据整合、数据融合
  18. 朴素贝叶斯——R语言
  19. Java时间 之 Instant
  20. 安卓中压缩纹理ETC1和ETC2

热门文章

  1. JavaBeans分类
  2. iOS开发--开源库
  3. Drools5.0.1使用excel实例
  4. 查看linux操作系统版本--实用
  5. 我用Python量化了1000万次散户操作,然后反着来,胜率竟然高达...?! | 你可以永远相信散户!【量化投资邢不行啊】...
  6. 编写函数,实现对身份证号码最后一位的验证
  7. 用zrender制作一个基础的绘图板,绘图板可用于组态界面的基础性开发
  8. Jenkins 通过 Version Number Plug 优雅的生成项目版本号
  9. Python扫码登录保存和验证cookies值——网易云音乐篇(九)
  10. 云计算技术 — 多云