在js的学习过程中,slice,splice,split这三个api易混淆,通过以下的内容可以了解他们的属性,轻松的区分啦~
目录
split()
splice()
slice()
split()
splite : 它用于将字符串分割成字符串数组。该方法根据指定的分隔符将字符串分割成多个子字符串,并将这些字符串存储在数组中。
(ps:split是属于字符串的方法,输入字符串,输出数组)
用法:
([separator,[limit]])
参数说明:
separator(可选):指定用于分割字符串的分隔符。如果没有提供分隔符,则默认使用空格进行分割。如果分隔符是一个空字符串,则结果数组将只包含一个元素,即原始字符串本身。
limit(可选):指定返回数组的最大长度。如果提供了限制,则最多返回limit个元素。如果没有提供限制,则将返回所有分割的子字符串。
示例:
var str = "apple,banana,orange";
var arr = (","); // 使用逗号作为分隔符
(arr); // 输出:["apple", "banana", "orange"]
在上面的示例中,我们使用逗号作为分隔符将字符串"apple,banana,orange"分割成了数组["apple", "banana", "orange"]。
var str = "apple,banana,orange";
var arr = (",",2); // 使用逗号作为分隔符
(arr); // 输出:["apple", "banana"]
在上面的示例中,我们将limlit的值设为2,所有返回数组的长度为2
splice()
splice: splice()方法用于在数组中添加/删除项目,然后返回被删除的项目。该方法会直接修改原数组。
(ps:splice是属于数组的方法)
用法:
(index, deleteCount, item1, ..., itemX)
参数说明:
index(必需):从哪个位置开始添加/删除元素。如果是负数,则表示从数组尾部开始计数的位置。
deleteCount(必需):要删除的元素数量。如果设置为0,则不会删除元素。
item1, ..., itemX(可选):要添加到数组中的新元素。
返回值:
被删除的元素组成的数组。如果没有删除任何元素,则返回一个空数组。
示例:
let fruits = ["apple", "banana", "cherry", "date"];
// 删除前两个元素,并添加"mango"和"orange"
(0, 2, "mango", "orange");
(fruits); // 输出:["mango", "orange", "cherry", "date"]
在上面的示例中,我们删除了前两个元素("apple"和"banana"),并添加了"mango"和"orange"。最终的数组变为["mango", "orange", "cherry", "date"]。
slice()
slice:slice()方法用于提取数组的一部分,并返回新的数组。与splice()不同,slice()不会修改原始数组。
(ps:适用于数组和字符串)
用法:
([startIndex,[endIndex]])
参数说明:
startIndex(可选):要提取的起始位置的索引。如果是负数,则表示从数组尾部开始计 数的位置。
endIndex(可选):要提取的结束位置的索引(不包括该索引位置的元素)。如果省略该 参数,则提取将延续到数组的末尾。
返回值:
一个包含提取元素的新数组。
let fruits = ["apple", "banana", "cherry", "date"];
// 从索引1开始提取,到数组末尾结束
let slicedFruits = (1);
(slicedFruits); // 输出:["banana", "cherry", "date"]
在上面的示例中,我们从索引1开始提取元素,并提取到数组的末尾,得到新的数组["banana", "cherry", "date"]。原始数组fruits不会被修改。
slice()方法不仅可以用于数组,还可以用于字符串。对于字符串,slice()方法可以提取指定位置的字符,并返回一个新的字符串。
示例:
let str = "hello world";
let slicedStr = (7);
// 从索引7开始提取到字符串末尾
(slicedStr); // 输出:"world"
在上面的示例中,我们从索引7开始提取字符,并提取到字符串的末尾,得到新的字符串"world"。