87,994
社区成员
发帖
与我相关
我的任务
分享
var arr = [1,2,3,4,5,6,7,8,9];
arr.splice(2,1);
console.log(arr);
//结果为[1,2,4,5,6,7,8,9]
/*
当splice(a,b)中的参数为2个时:
splice(a,b)中,a代表一个开始位置的索引(是按照数组下标算的,即从0开始),而b代表的是删除元素的
个数(删除时包括a),从a开始(包括a),供删除b个元素。
当splice(a)中的参数为1个时:
splice(a)中,a还是代表一个开始位置的索引,但是会直接删除a及a后面的所有元素。
*/
var arr = [1,2,3,4,5,6,7,8,9];
arr.splice(2,3,77,88,99);
console.log(arr);
//结果为[1,2,77,88,99,6,7,8,9]
/*
首先说明,这里已经不是三个参数,三为什么说三个参数?因为除第1、2个参数外,其他所有参数可看成一个参
数,下面详细讲解。
arr.splice(a,b,c)中,a代表一个开始位置的索引(从0开始),b表示"下场"几个,c表示准备上场的元素(下场
多个,即可上场多个,所以c可以是多个值,值与值之间用‘,’隔开)
也可以这样理解:b仍然表示删除,而c为b删除后的补充。
*/
var arr = [1,2,3,4,5,6,7,8,9];
arr.splice(2,0,77,88,99);
console.log(arr);
//结果为[1,2,77,88,99,3,4,5,6,7,8,9]
/*
当splice(a,b,c)中b为0时,即表示“不删除”,所以会实现插入功能
*/
注意:这三种功能都会改变原数组!!!