字符串和数组的操作虽然经常用,但是时间长了,细致的部分忘记了,今天特地翻看了一下之前学习时候的笔记。
首先slice和splice猛的一看很相似,但是实际上用法差异性很大。
一、slice(可以用于数组,也可以用于字符串)
1.在数组中的使用(截取)
slice(参数一,参数二)
参数一:开始截取的下标位置
参数二:结束截取下标位置,但是不会截取到该位置上的值
var newArray = [9, 5 , 2 , 7, "HEllO" , "world"];
var result1 = newArray.slice(1,4);
console.log(result1);//[5,2,7]
var result2 = newArray.slice(1);
console.log(result2);//[5 , 2 , 7, "HEllO" , "world"]
注意:slice 截取之后,会将截取到的值,放到一个新数组中,不会修改原数组。
其中,参数二可以省略不写,当不写 参数二时,代表截取到数组的结束位置。
2.在字符串中的使用(截取)
slice(参数一,参数二):使用方式同数组的方式
参数一:开始截取的下标位置
参数二:结束截取的下标位置,但是不会截取到该位置上的值
str = "ILoveYou!"
var str1 = str.slice(1,5);
console.log(str1);// Love
var str2 = str.slice(1);
console.log(str2);// LoveYou!
注意参数二也可以省略,省略时,会从参数一截取到字符串结束位置
二、splice(只在数组中使用:添加、删除、替换)
1.添加(参数2为0)
splice(参数1,参数2,参数3,...):splice实现插入操作
参数1:要插入的下标位置
参数2:必须为零
参数3,...:是要插入的值(值得类型和个数没有限制)
var array = [5,7,6]
array.splice(1, 0, 4, "99");
console.log(array);//[5,4, "99",7,6]
2.删除(只有参数1,参数2)
splice(参数1,参数2):splice实现删除
参数1:要删除的下标位置
参数2:要删除的个数
var array = [5,7,6]
array.splice(1, 1);
console.log(array);//[5,6]
3.替换
splice(参数1,参数2,参数3,...):splice实现替换
参数1:要替换的下标位置
参数2:替换的个数
参数3,...:是要替换的值(值得类型和个数没有限制)
var array = [5,7,6]
array.splice(1, 2, 4, "99");
console.log(array);//[5,4, "99"]