彻底搞懂slice,splice,split,substring

3,161 阅读1分钟

总结过很多次,还是会混淆,多总结多用吧

slice

英译:切割、划分
slice() 方法返回一个新的数组对象,这一对象是一个由 begin和
end(不包括end)决定的原数组的浅拷贝。原始数组不会被改变。

var fruits = ['orange', 'apple', 'banana', 'watermalon', 'durian'];

console.log(fruits.slice(2));
// expected output: Array ["banana", "watermalon", "durian"]

console.log(fruits.slice(2, 4));
// expected output: Array ["banana", "watermalon"]

console.log(fruits);
// expected output: Array ["orange", "apple", "banana", "watermalon", "durian"]

slice() 方法提取一个字符串的一部分,并返回一新的字符串。

var str1 = 'HelloWorld!';
var str2 = str1.slice(4, -2);

console.log(str2); // OUTPUT: oWorl

splice

英译:剪接、绞接
splice()方法通过删除或替换现有元素来修改数组,并以数组形式返回被修改
的内容。此方法会改变原数组。

var fruits = ['orange', 'apple', 'banana', 'watermalon', 'durian'];

console.log(fruits.splice(2));
// deleted ["banana", "watermalon", "durian"]
console.log(fruits);
// expected output: Array ["orange", "apple"]

split

英译:分裂; 分开
split() 方法使用指定的分隔符字符串将一个String对象分割成字符串数组,
以将字符串分隔为子字符串,以确定每个拆分的位置。 

var fruits = "orange, apple, banana, watermalon, durian";

console.log(fruits.split(","));
// expected output: Array ["orange", "apple", "banana", "watermalon", "durian"]
console.log(fruits);
// expected output: "orange, apple, banana, watermalon, durian"

substring

字符串,返回子字符串,截取字符串
var fruits = "orange"
console.log(fruits.substring(1,3))
// expected output: "ra"
console.log(fruits)
// expected output: "orange"

总结:

slicesplicesplitsubstring类型
YY 数组(Y/N)
YYY 字符串(Y/N)
Y 原数组改变(Y/N)
Y 根据字符串特殊字符,转换数组(Y/N)