JavaScript中对数组操作的splice、slice 、split方法区分,再也不会混淆了! JavaScript中splice 、 slice 、split区分

JavaScript中splice 、 slice 、split区分

splice() 方法用于插入、删除或替换数组的元素。


注意:splice方法会改变原始数组! 返回值:如果仅删除一个元素,则返回一个元素的数组。 如果未删除任何元素,则返回空数组。

array.splice(index,length,item1,.....,itemN)

  1. index: 必需。规定从何处添加/删除元素。该参数是开始插入和(或)删除的数组元素的下标,必须是数字
  2. length: 必需。规定应该删除多少元素。必须是数字,但可以是 "0"。如果未规定此参数,则删除从 index 开始到原数组结尾的所有元素。
  3. item1,...itemN: 可选。要添加到数组的新元素

splice()例子:

var names = ["wills", "kris", "april","willschang"];
 
// 增加内容,在index=2的位置开始添加两个参数
names.splice(2,0,"jacket","john");
// 结果
["wills", "kris", "jacket", "john", "april", "willschang"]
 
//移除数据并增加内容  将"april"移除,并添加两个新元素
var names = ["wills", "kris", "april", "willschang"];
names.splice(2,1,"jacket","john");
//  ["wills", "kris", "jacket", "john", "willschang"]
 
// 删除数据, 从第三个位置开始删除数据,若不指定删除几个,默认删除到结尾
var names = ["wills", "kris", "jacket", "john", "willschang"]
names.splice(2) //从下标为2开始删除元素
// 返回数据[ "jacket", "john", "willschang"]
// names变成["wills", "kris"]

slice() 方法可从已有的数组中返回选定的元素。 slice()方法可提取字符串的某个部分,并以新的字符串返回被提取的部分。

注意: slice() 方法不会改变原始数组。

array.slice(start, end)

区间是左闭右开
  1. start: 必需。规定从何处开始选取。如果是负数,那么它规定从数组尾部开始算起的位置。也就是说,-1 指最后一个元素,-2 指倒数第二个元素,以此类推。
  2. end: 可选。规定从何处结束选取(不包括结束位置)。该参数是数组片断结束处的数组下标。如果没有指定该参数,那么切分的数组包含从 start 到数组结束的所有元素。如果这个参数是负数,那么它规定的是从数组尾部开始算起的元素。

slice()例子

var names = ["wills", "kris", "april", "willschang"];
names.slice(2,3)
//["april"] 从下标为2截取到下标为3的地方
console.log(names)
//(4) ["wills", "kris", "april", "willschang"] 不变

split()方法用于把一个字符串分割成字符串数组。

提示: 如果把空字符串 ("") 用作 separator,那么 stringObject 中的每个字符之间都会被分割。

注意: split() 方法不改变原始字符串。

语法

stringObject.split(separator,howmany)
参数 描述
separator 必需。字符串或正则表达式,从该参数指定的地方分割 stringObject。
howmany 可选。该参数可指定返回的数组的最大长度。如果设置了该参数,返回的子串不会多于这个参数指定的数组。如果没有设置该参数,整个字符串都会被分割,不考虑它的长度。

返回值

一个字符串数组。该数组是通过在 separator 指定的边界处将字符串 stringObject 分割成子串创建的。返回的数组中的字串不包括 separator 自身。

但是,如果 separator 是包含子表达式的正则表达式,那么返回的数组中包括与这些子表达式匹配的字串(但不包括与整个正则表达式匹配的文本)。

"2:3:4:5".split(":")	//将返回["2", "3", "4", "5"]
"|a|b|c".split("|")	//将返回["", "a", "b", "c"]
"hello".split("", 3)	//["h", "e", "l"] 以空字符串分割,并截取3个字符

附:数组常用的方法
concat() 方法用于连接两个或多个数组。该方法不会改变现有的数组,而仅仅会返回被连接数组的一个副本,语法:arrayObject.concat(arrayX,arrayX,......,arrayX)
includes() 判断一个数组是否包含一个指定的值。
indexOf() 搜索数组中的元素,并返回它所在的位置。
isArray() 判断对象是否为数组。
join() 把数组的所有元素放入一个字符串,join("~")表示以 ~ 符号连接。
lastIndexOf() 搜索数组中的元素,并返回它最后出现的位置。
pop() 删除数组的最后一个元素并返回删除的元素。
push() 向数组的末尾添加一个或更多元素,并返回新的长度。
reduce() 将数组元素计算为一个值(从左到右)。
reduceRight() 将数组元素计算为一个值(从右到左)。
slice() 选取数组的的一部分,并返回一个新数组,不改变原数组。
splice() 从数组中添加或删除元素,改变原数组。
shift() 删除并返回数组的第一个元素。
unshift() 向数组的开头添加一个或更多元素,并返回新的长度。

map() 通过指定函数处理数组的每个元素,并返回处理后的数组。
toString() 把数组转换为字符串,并返回结果。
some() 检测数组元素中是否有元素符合指定条件。
reverse() 反转数组的元素顺序。

发布了30 篇原创文章 · 获赞 26 · 访问量 7201

猜你喜欢

转载自blog.csdn.net/aaqingying/article/details/93885490