如何区分slice、splice和split
小颖之前写过一篇文章:JavaScript Array 对象方法 以及 如何区分javascript中的toString()、toLocaleString()、valueOf()方法中有分享过slice()和splice()的用法。今天把slice、splice和split放一起,再看看有哈子区别嘻嘻,因为用的时候老混,放一起总结下,也方便后期查询。嘻嘻
目录:
代码:
1.slice
<script type="text/javascript">
let arry = [1, 2, 3, 4, 5, 6];
/**************slice*******************/
// 1.slice(数组)不改变原数组
// 用法:arrayObject.slice(start,end)截取从索引为start开始(包括start)到索引到end之前(不包括end)得值
let _arr1 = arry.slice(1, 5);
console.log('数组arry:' + arry);
console.log('数组_arr1:' + _arr1);
//如果不传入参数二,那么将从参数一的索引位置开始截取,一直到数组尾
let _arr2 = arry.slice(2);
console.log('数组arry:' + arry);
console.log('数组_arr2:' + _arr2);
//如果不传入参数二,且参数一为负数(-2),将从参数倒数(从右向左)第2个位置开始截取,一直到数组尾
let _arr3 = arry.slice(-2);
console.log('数组arry:' + arry);
console.log('数组_arr3:' + _arr3);
//当只传入一个参数,是负数时,并且参数的绝对值大于数组length时,会截取整个数组
let _arr4 = arry.slice(-7);
console.log('数组arry:' + arry);
console.log('数组_arr4:' + _arr4);
//当传入两个参数一正一负时,start为正,end为负,且end+数组的length > start,则正常截取,当end+数组的length <= start 时,将返回一个空数组
let _arr5 = arry.slice(1, -1);
console.log('数组arry:' + arry);
console.log('数组_arr5:' + _arr5);
let _arr6 = arry.slice(1, -5);
console.log('数组arry:' + arry);
console.log('数组_arr6:' + _arr6);
//当传入两个参数一正一负时,start为负,end为正,且start+数组的length < end,则正常截取,当start+数组的length >= end 时,将返回一个空数组
let _arr7 = arry.slice(-5, 5);
console.log('数组arry:' + arry);
console.log('数组_arr7:' + _arr7);
let _arr8 = arry.slice(-5, 0);
console.log('数组arry:' + arry);
console.log('数组_arr8:' + _arr8);
let _arr9 = arry.slice(-5, 1);
console.log('数组arry:' + arry);
console.log('数组_arr9:' + _arr9);
//2.slice(字符串)
// slice方法复制string的一部分来构造一个新的字符串,用法与参数匀和数组的slice方法一样;
let stringA = "1,2,3,4,5,6,7";
let _string1 = stringA.slice(1, 7);
console.log('stringA长度:' + stringA.length);
console.log('_string1:' + _string1);
</script>
2.splice
实例1:
let arry = [1, 2, 3, 4, 5, 6];
/**************splice*******************/
// 1.splice(数组)改变原数组
// 用法:arrayObject.splice(index,howmany,item1,.....,itemX)splice() 方法可删除从 index 处开始的零个或多个元素,并且用参数列表中声明的一个或多个值来替换那些被删除的元素。如果从 arrayObject 中删除了元素,则返回的是含有被删除的元素的数组。
let _arr1 = arry.splice(1, 2,22,23);
console.log('数组arry:' + arry);
console.log('数组_arr1:' + _arr1);
实例2:
let arry = [1, 2, 3, 4, 5, 6];
// /**************splice*******************/
// // 1.splice(数组)改变原数组
// // 用法:arrayObject.splice(index,howmany,item1,.....,itemX)splice() 方法可删除从 index 处开始的零个或多个元素,并且用参数列表中声明的一个或多个值来替换那些被删除的元素。如果从 arrayObject 中删除了元素,则返回的是含有被删除的元素的数组。
// 如果start为负数,则截取从倒数(从右向左数)第几个到数组末尾之间的值,并从倒数第几个位置开始插入新的值。
let _arr2 = arry.splice(-2, 2,22,23);
console.log('数组arry:' + arry);
console.log('数组_arr2:' + _arr2);
3.split
参数 | 描述 |
---|---|
separator | 必需。字符串或正则表达式,从该参数指定的地方分割 stringObject。 |
howmany | 可选。该参数可指定返回的数组的最大长度。如果设置了该参数,返回的子串不会多于这个参数指定的数组。如果没有设置该参数,整个字符串都会被分割,不考虑它的长度。 |
// split(字符串)
// 用法:stringObject.split(separator,howmany)把一个字符串分割成字符串数组
// 如果把空字符串 ("") 用作 separator,那么 stringObject 中的每个字符之间都会被分割。
let stringA1 = "1,2,3,4,5,6,7";
let _stringArry1 = stringA1.split("");
console.log('stringA1:' + stringA1);
console.log('_stringArry1:' + _stringArry1);
let stringA2 = "1.2.3.4.5.6.7";
let _stringArry2 = stringA2.split(".");
console.log('stringA2:' + stringA2);
console.log('_stringArry2:' + _stringArry2);
如何区分slice、splice和split的更多相关文章
- 区分slice,splice和split方法
1.slice(数组) 用法:array.slice(start,end) 解释:该方法是对数组进行部分截取,并返回一个数组副本:参数start是截取的开始数组索引,end参数等于你要取的最后一个字符 ...
- 区分slice,splice,split
原文:https://www.cnblogs.com/webjoker/p/5218114.html 1.slice(数组) 用法:array.slice(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中slice(),splice(),split(),substring(),substr()的使用方法和区别
1.slice(): Array和String对象都有 在Array中 slice(i,[j]) i为开始截取的索引值,负数代表从末尾算起的索引值,-1为倒数第一个元素j为结束的索引值,缺省时则获取 ...
- JS中slice,splice,split的区别
不知道大家对slice,splice,splite是肿么样的感觉,反正我刚接触到这三个函数的时候整个人都懵了,因为一个个长的跟孪生兄弟似的,每次用的时候都会混,于是决定记下来,也给大家当个参考吧. s ...
- split slice splice的简单区别
split slice splice的简单区别 split: 分割 //字符串方法 string.split let str = 'hello world'; //str.split('') 以什么东 ...
- JavaScript中的slice,splice,substr,substring,split的区别
万恶的输入法,在sublime中会显示出繁体字,各位看官见谅. 1.slice()方法:该方法在数组和string对象中都拥有. var a = [1,2,3,4,5,6]; var s = 'thi ...
- split,slice,splice,replace的用法
split()方法用于把一个字符串分割成字符串数组 str.split("字符串/正则表达式从该参数制定额地方分割str",可选,可指定返回数组的最大长度,如果没设置参数,整个字符 ...
随机推荐
- Windows环境下ELK(5.X)平台的搭建
一.Windows环境下ELK平台的搭建(2.*) 1.安装配置Java环境 在Oracle官网获取最新版的Java版本,由于只是运行不是开发,所以也可以只下载JRE.官网:http://www.or ...
- Logback中文文档(一):介绍
什么是 logback Logback 为取代 log4j 而生. Logback 由 log4j 的创立者 Ceki Gülcü 设计.以十多年设计工业级记录系统的经验为基础,所创建的 logbac ...
- 谈谈Android NDK中动态链接库(.so文件)的优化
做了不少NDK相关的工作,不知道别人有没有同样的困惑,经常在编译C/C++代码的时候会出一些error或者warning,然后在网上搜,发现在Android.mk或者Application.mk文件中 ...
- LinuxMint下的Orionode源码安装
1. Orionode介绍 Eclipse-orion是Eclipse项目下面的一个子项目,orion是一个在在线版的代码编辑环境.其介绍参考http://wiki.eclipse.org/Orion ...
- Oracle 高级查询
Oracle SQL 一些函数用法 以下sql环境都是在 Oracle 11g/scott完成 Group by 与GROUP BY一起使用的关建字 GROUPING,GROUP SET,ROLLUP ...
- Kafka配置说明
Broker Configs Property Default Description broker.id 每个broker都可以用一个唯一的非负整数id进行标识:这个id可以作为broker的 ...
- MongoDB 之 幽灵操作避免
进行静态加载数据到集合的过程中可能会出现. 假设建立一个任务(Job):在MongoDB中进行千条更新操作,开始后迅速终止任务,终止所有更新操作,但依然发现新的更新任务在不断出现,即使任务已经停止. ...
- 哪些因素影响ABBYY FineReader 12的识别质量
任何一款OCR文字识别软件都无法确保100%识别准确,更何况诸多因素的存在,都有可能直接或间接影响识别质量.在使用ABBYY FineReader 12识别或者转换文档的时候也存在同样的状况,今天来给 ...
- MysqlHelper使用反射机制智能推算数据类型以及属性名称
public class MySqlHelper { private string ConnString; public MySqlHelper(string connectionString) { ...
- 【GIS】使用GDAL为Leaflet切图
一.参考资料 https://commenthol.github.io/leaflet-rastercoords/ https://github.com/commenthol/gdal2tiles-l ...