持续创作,加速成长!这是我参与「掘金日新计划 · 6 月更文挑战」的第3天.
数组尾 删除 pop
数组头 删除 shift
任意位置 删除 splice:
在数组中间插入元素:
var fruits = ["Banana", "Orange", "Apple", "Mango"];
fruits.splice(2,0,"Lemon","Kiwi"); //Banana,Orange,Lemon,Kiwi,Apple,Mango
删除数组里 的某一个元素:
fruits.splice(index,1);//返回删除元素的数组
遍历数组 删元素:
能用filter 就不用splice
const list = [
{ name: 'left', width: 20, height:30 },,
{ name: 'right', width: 10, height:30 },
{ name: 'center', width: 70, height:30 },
{ name: 'right', width: 10, height:30 },
{ name: 'left', width: 20, height:30 },
{ name: 'right', width: 10, height:30 },
{ name: 'below', width: 10, height:30 },
{ hh: 'below', haha: 10, dd:30 },
];
let flist = list.filter(item => item && item.width && item.width>= 20);
//{name: 'left', width: 20, height: 30}
//{name: 'center', width: 70, height: 30}
//{name: 'left', width: 20, height: 30}
long long ago,没有 filter的时候 还是用 splice 去删除 数组的元素:
第一种:从头开始遍历数组,每次删除元素后,下标index 需要减1。
for(let i = 0; i < list.length ;i++){
if(!list[i] || !list[i].width){
list.splice(i,1);
i--;
}else{
if(10 >= list[i].width){
list.splice(i,1);
i--
}
}
}
或 第二种:从尾开始遍历数组
for(let i = list.length-1;i>-1;i--){
if(!list[i] || !list[i].width){
list.splice(i,1);
}else{
if(10 >= list[i].width){
list.splice(i,1);
}
}
}