这几天经常做题的时候遇到这三个,看着特别像,每次都得去查找,所以这次自己也记录下来。
一、splice()方法
splice() 方法通过删除或替换现有元素或者原地添加新的元素来修改数组,并以数组形式返回被修改的内容。(此方法会改变原数组,获取的是新的数组
)
语法:
arrayObject.splice(index,howmany,item1,.....,itemX)
参数:
index —— 必需。整数,规定添加/删除项目的位置,使用负数可从数组结尾处规定位置。
howmany ——必需。要删除的项目数量。如果设置为 0,则不会删除项目。
item1, …, itemX —— 可选。向数组添加的新项目。
举个例子:
1、添加元素:
<script>
var arr = [1,2,3,4,5,6]
document.write("原数组为:" + arr + "\n" )
arr.splice(2,0,4)
document.write("新数组为:" ,arr)
</script>
结果表示在第二个索引位置添加4这个元素
2、替换元素
<script>
var arr = [1,2,3,4,5,6]
document.write("原数组为:" + arr + "</br>" )
arr.splice(2,1,2)
document.write("新数组为:" ,arr)
</script>
结果表示在第二个索引位置用2元素替换3元素
3、删除元素(一个参数)
<script>
var arr = [1,2,3,4,5,6]
document.write("原数组为:" + arr + "</br>" )
arr.splice(-2)
document.write("新数组为:" ,arr)
</script>
splice(index) ——> 从index的位置开始,删除之后的所有元素(包括第index个)若 index < 0 , 则删除最后-index个元素,此结果表示删除从末尾数的两个元素
4、删除元素(两个参数)
<script>
var arr = [1,2,3,4,5,6]
document.write("原数组为:" + arr + "</br>" )
arr.splice(2,1)
document.write("新数组为:" ,arr)
</script>
结果表示删除第二个索引位置处的3元素
说明
- splice() 方法可删除从 index 处开始的零个或多个元素,并且用参数列表中声明的一个或多个值来替换那些被删除的元素。
- 如果从 arrayObject 中删除了元素,则返回的是含有被删除的元素的数组。
二、slice()方法
用于截取数组,并返回截取到的新的数组,数组与字符串对象都使用(此方法对原数组不会改变
)
语法:
array.slice(start, end)
参数:
start::必需
,规定从何处开始选取。如是负数,规定从数组尾部开始算起,也就是说,-1指的是最后一个元素,以此类推;
end:可选,规定从何处结束选取。该参数是数组片段结束处的数组下标。如果没有指定该参数,那么切分的数组包含从star到数组结束的所有元素。如果这个参数是负数,那么它规定的是从数组尾部开始算起的元素。
返回值:一个新的数组,包含从start 到end(不包括该元素
)的ArrayObject 中的元素。
举例
<script>
var arr = [1,2,3,4,5,6]
var del = arr.slice(1,2) //从下标为1 的位置删除,删除两个元素(不包括下标为2的元素)
var del1 = arr.slice(-1) //为元素的最后一位
var del2 = arr.slice(7) //当元素的参数大于length.返回一个空数组
var del3 = arr.slice(-7) //当只传入一个参数,且是负数,length会与参数相加
var del4 = arr.slice(1,-2) //当传入的参数为一正一负时,length会限于负数相加再截取
console.log(del);
console.log(del1);
console.log(del2);
console.log(del3);
console.log(del4);
</script>
三、split()方法
split() 方法用于把一个字符串分割成字符串数组。 (此方法不改变原始字符串。
)
提示: 如果把空字符串 ("") 用作 separator,那么 stringObject 中的每个字符之间都会被分割。
语法:
string.split(separator,limit)
参数:
separator :可选
。字符串或正则表达式,从该参数指定的地方分割 string Object。
limit :可选。该参数可指定返回的数组的最大长度。如果设置了该参数,返回的子串不会多于这个参数指定的数组。如果没有设置该参数,整个字符串都会被分割,不考虑它的长度。
举例
<script>
var str="How are you doing today?";
var n=str.split("");
console.log(n);
</script>
<script>
var str="How are you doing today?";
var n=str.split(" ",3);
console.log(n);
</script>