slice,splice,split,unshift的用法
工作了很久始终对这4个用法处于混淆状态,今天写个帖子来警示下自己
// slice(start,end),从start值开始截取到end前的元素组成新的数组,不改变原数组
// slice(index)从index下标值开始截取,组成新的数组不改变原数组
var arr=[0,1,2,3,4,5,6];
var a=arr.slice(0,4);//0123
var b=arr.slice(3);//3456
console.log(a);//0123
console.log(b);//3456
console.log(arr);//0123456
// 当传入一个数值且为负数时length会与这个数值相加然后再截取,当该数值的绝对值大于length时会返回全部
// 当传入的值是一正一负时,此时的length不再是arr的length而是新数组的length,此时length同样与负数相加,再截取值
// 当传入的值时一正一副且第二个值的绝对值大于或等于length的个数则返回空数组
var c=arr.slice(-5);
console.log(c);//23456
var d=arr.slice(-8);
console.log(d)//0123456
var e=arr.slice(2,-2);
console.log(e);//234
var f=arr.slice(2,-5);
console.log(f);//空值
var arr1=[0,1,2,3,4,5,6];
// splice(index,length,item1,item2)从第index开始选择length个元素进行删除,item1,item2放入删除的位置
// 改变了原数组使原数组一目前的方法进行排列,操作过后的值为删除掉的值
var g=arr1.splice(2,2,8,8);
console.log(g)//23
console.log(arr1);//0188456
// split(separator,limit) 不改变原数组组成新的字符串,以separator分割字符串对目前字符串取limit个组成新的数组
var str="abc丰城市123";
var h=str.split("市",2);
console.log(h);
console.log(str);
var arr2=[0,1,2];
// unshift(item1,item2,...),unshift向原数组开头进行追加元素,改变原数组
var i=arr2.unshift(3,4,"丰城市");
console.log(i);//6 得到的是数组arr2新追加后的length
console.log(arr2);//原数组已改变,改变为新追加后的数组
slice,splice,split,unshift的用法的更多相关文章
- js中slice(),splice(),split(),substring(),substr()的使用方法和区别
1.slice(): Array和String对象都有 在Array中 slice(i,[j]) i为开始截取的索引值,负数代表从末尾算起的索引值,-1为倒数第一个元素j为结束的索引值,缺省时则获取 ...
- JS中slice,splice,split的区别
不知道大家对slice,splice,splite是肿么样的感觉,反正我刚接触到这三个函数的时候整个人都懵了,因为一个个长的跟孪生兄弟似的,每次用的时候都会混,于是决定记下来,也给大家当个参考吧. s ...
- 区分slice,splice,split
原文:https://www.cnblogs.com/webjoker/p/5218114.html 1.slice(数组) 用法:array.slice(start,end) 解释:该方法是对数组进 ...
- javascript篇-slice(),splice(),split(),substring(),substr()的用法以及区别
1.slice(),从已经有的数组中返回选定的元素, 使用范围是:Array,string 语法:obj.slice(start,end) 参数: start: 必需.规定从数组(字符串)的哪个ind ...
- javascript的slice(),splice(),split(),substring(),substr()
例子摘抄于http://www.w3school.com.cn/jsref/jsref_obj_array.asp 1.slice(): Array和String对象都有 在Array中 slice ...
- javascript中slice(),splice(),split(),substring(),substr()使用方法
因为本人在使用这些方法时常有混淆,特总结如下: 1.slice(): Array和String对象都有 在Array中 slice(i,[j]) i为开始截取的索引值,负数代表从末尾算起的索引值,- ...
- 区分slice,splice和split方法
1.slice(数组) 用法:array.slice(start,end) 解释:该方法是对数组进行部分截取,并返回一个数组副本:参数start是截取的开始数组索引,end参数等于你要取的最后一个字符 ...
- javascript中不易分清的slice,splice和split三个函数
1.slice(数组) 用法:array.slice(start,end) 解释:该方法是对数组进行部分截取,并返回一个数组副本:参数start是截取的开始数组索引,end参数等于你要取的最后一个字符 ...
- js中slice,splice和split方法的区别
1.slice(数组) 用法:array.slice(start,end) 解释:该方法是对数组进行部分截取,并返回一个数组副本:参数start是截取的开始数组索引,end参数等于你要取的最后一个字符 ...
随机推荐
- js onreadystatechange 和 onload的区别
IE的script 元素只支持onreadystatechange事件,不支持onload事件. FF的script 元素不支持onreadystatechange事件,只支持onload事件. 如果 ...
- Vue 的父组件和子组件生命周期钩子执行顺序是什么
加载渲染过程父beforeCreate->父created->父beforeMount->子beforeCreate->子created->子beforeMount-&g ...
- springboot中使用h2数据库(内存模式)
使用H2的优点,不需要装有服务端和客户端,在项目中包含一个jar即可,加上初始化的SQL就可以使用数据库了 在springboot中引入,我的版本是2.1.4,里面就包含有h2的版本控制 <!- ...
- rocketMq指定broker ip地址,适合解决云主机部署问题
在工作中遇到了一个这个问题,就是我们rocketmq是部署在云主机上的 但是我们的开发同事在自己的电脑连接rocketmq链接不上 报错显示Caused by: org.apache.rocket ...
- Vue3源码解析(computed-计算属性)
作者:秦志英 前言 上一篇文章中我们分析了Vue3响应式的整个流程,本篇文章我们将分析Vue3中的computed计算属性是如何实现的. 在Vue2中我们已经对计算属性了解的很清楚了,在Vue3中提供 ...
- 基数排序(Radix Sort)
基数排序(Radix Sort) 第一趟:个位 收集: 第二趟:十位 第三趟:百位 3元组 基数排序--不是基于"比较"的排序算法 递增就是把收集的过程返过来 算法效率分析 需要r ...
- 2020-2021 “Orz Panda” Cup Programming Contest
2020-2021 "Orz Panda" Cup Programming Contest 比赛情况 我们一共过了道3题 本场贡献:et3_tsy :过了A,提供了H的关键修改 ...
- 软件工程与UML的第一次课
| 这个作业属于哪个课程 | https://edu.cnblogs.com/campus/fzzcxy/2018SE1 | | 这个作业要求在哪里 | https://edu.cnblogs.com ...
- Kubernetes【K8S】(一):Kubernetes组件
什么是Kubernetes Kubernetes 是一个可移植的.可扩展的开源平台,用于管理容器化的工作负载和服务,可促进声明式配置和自动化.Kubernetes拥有一个庞大且快速增长的生态系统. ...
- vue第七单元(vue的单文件组件形式-单文件组件的加载原理-vue-cli构建的开发环境以及生命周期)
第七单元(vue的单文件组件形式-单文件组件的加载原理-vue-cli构建的开发环境以及生命周期) #课程目标 掌握安装 vue-cli 命令行工具的方法,掌握使用命令行在本地搭建开发环境,使用命令行 ...