总觉得数组和字符串中的一些方法的使用很难记,可能是日常都是在学理论,缺少实际应用。不多说了,继续学习吧!

一句话先提前概括:

slice(start,end) 从哪到哪开始删

splice(strt,end,index1,index2) 从什么位置开始,删几个?删了后插入什么新元素?

数组中的slice()方法

---可以用来从数组中提取指定元素

---该方法不会改变元素数组,而是将截取到的元素封装到一个新数组中返回

参数:

1.截取开始的位置的索引,包含开始索引

2.截取结束的位置的索引,不包含结束索引

  -第二个参数可以忽略不写,此时会截取从开始索引往后的所有元素

  -索引可以传递一个负值,如果传递一个负值,则从后往前计算

  -1 倒数第一个

  -2 倒数第二个

arr.slice(1,-2)     -2表示截取到倒数第二个元素,但是不包含该元素

数组中的splice() 方法

-可以用于删除数组中的指定元素

-使用splice()会影响到原数组,会将指定元素从原数组中删除,并将被删除的元素作为返回值返回

-参数:

  第一个,表示开始位置的索引

  第二个,表示删除的数量

  第三个及以后。。可以传递一些新的元素,这些元素将会自动插入到开始位置索引前边

字符串中的slice()方法

---可以从字符串中截取指定的内容

---不会影响原字符串,而是截取到内容返回

---参数

  第一个,开始位置的索引(包括开始位置)

  第二个,结束位置的索引(不包括结束位置)

  如果省略第二个参数,则会截取到后边所有的

  也可以传递一个负数作为参数,负数的话将会从后边计算

另外,字符串中的substring()方法也可以截取字符串,跟slice()类似

---参数

  第一个,开始位置的索引(包括开始位置)

  第二个,结束位置的索引(不包括结束位置)

不同的是这个方法不能直接接受负值作为参数,如果传递了一个负值,则默认使用0

另外,substr()方法也可以用来截取字符串

---参数

  第一个,用来截取字符串

  第二个,截取的长度

彻底弄懂slice和splice的区别的更多相关文章

  1. 数组的常用方法concat,join,slice和splice的区别,map,foreach,reduce

    1.concat()和join() concat()是连对两个或两个数组的方法,直接可以将数组以参数的形式放入 join()是将数组中的所有元素放入一个字符串中,通俗点讲就是可以将数组转换成字符串 2 ...

  2. JS数组slice()和splice()的区别

    以前还是纯小白的时候,总会搞混JS数组的 slice() 和 splice() 方法.因为这2个方法名字太像了,就差一个字母,语法也有类似之处.    现在久了没用,有时候也会忘记,所以做一个总结来区 ...

  3. slice 与 splice 的区别

    slice: 定义一个数组:let b = ['a','b','c','d','e'] b:["a", "b", "c", "d& ...

  4. substr和substring,slice和splice的区别,js字符串截取和数组截取

    本文参考了文章:https://blog.csdn.net/kenberkeley/article/details/50983734 博主已经总结得很好了,看完之后也能明白,不过还是觉得要自己动手敲一 ...

  5. js中slice和splice的区别

    言简意赅,直接上货. slice():该方法会返回一个新的数组,强调:新数组,并不会影响原来的数组.先来看看语法咋说:arrayObject.slice(start,end).其中,start必需,e ...

  6. JS中的slice()和splice()的区别以及记忆方式

    总结 splice()会改变原来的数组,返回的是被改变的内容,比如说通过splice删掉了某一项,那么返回的是删掉的这一项,当然还是会以数组的形式返回. slice不会对原数组进行改变,会返回一个新的 ...

  7. 【JS点滴】substring和substr以及slice和splice的用法和区别。

    那么就由一道笔试题引入吧,已知有字符串a=”get-element-by-id”,写一个function将其转化成驼峰表示法”getElementById”: var a = "get-el ...

  8. (转)substring和substr以及slice和splice的用法和区别

    转载地址:https://www.cnblogs.com/echolun/p/7646025.html 那么就由一道笔试题引入吧,已知有字符串a=”get-element-by-id”,写一个func ...

  9. 【转】彻底弄懂Java中的equals()方法以及与"=="的区别

    彻底弄懂Java中的equals()方法以及与"=="的区别 一.问题描述:今天在用Java实现需求的时候,发现equals()和“==”的功能傻傻分不清,导致结果产生巨大的偏差. ...

随机推荐

  1. SPA是什么?

    认识SPA 最早单页面的应用无从知晓,在2004年,google的Gmail就使用了单页面.到了2010年,随着Backbone的问世之后,此概念才慢慢热了起来. 随着后来React.Angular. ...

  2. Nuxt.js打造旅游网站第3篇_登录页面的编写

    主要知识点: 1.使用vuex/store管理数据 2.登录注册逻辑 3.Nuxt的本地存储 1.登录页面 1.1登录页面布局 替换pages/user/login.vue的代码如下 <temp ...

  3. nodeJs学习-04 POST数据请求,分段发送,分段接收

    const http = require("http"); const querystring= require('querystring'); http.createServer ...

  4. BackgroundWorker 的输入、输出参数、进度条与文字刷新、取消机制、返回事件

    1. 定义全局变量 BackgroundWorker backgroundwoker; 2. 点击开始按钮或其它时机初始化 backgroundwoker = new BackgroundWorker ...

  5. UVa-10986_Sending email (向前星+Dijkstra)

    题意:给你点.边,求起点到终点的最短距离. 题解:由于题目的数据量特别大,所以需要用邻接表来存边,之后对Dijkstra算法稍微魔改一下就可以了,本来以为会超时,做好了打堆优化的准备,结果卡时间过了, ...

  6. BUAA 169 电话费

    http://oj55.bianchengla.com/problem/169/ 还有这个,不怎么好做,最后用栈做出来了. 感觉比较有用的一个数据是: 10 3 1010101010 代码如下: #i ...

  7. kubernetes API 访问控制在阿里云容器服务(ACK)上的实践

    提起K8s API的访问控制,很多同学应该都会想到RBAC,这是K8s用来做权限控制的方法,但是K8s对API的访问控制却不止于此,今天我们就来简单介绍下K8s的访问控制以及ACK如何利用这套方法提供 ...

  8. SaltStack之用户账户管理

    在Salt.state中,user 模块是用来创建用户和管理用户设定的,用户可以被设置成 present 状态或者 absent 状态 注释: present:添加用户 absent   : 删除用户 ...

  9. OpenStack组件系列☞Keystone搭建

    一:版本信息 官网:http://docs.openstack.org/newton/install-guide-rdo/keystone.html 二:部署keystone 官网文档:http:// ...

  10. OpenStack组件系列☞Keystone

    Keystone(OpenStack Identity Service)是 OpenStack 框架中负责管理身份验证.服务规则和服务令牌功能的模块.用户访问资源需要验证用户的身份与权限,服务执行操作 ...