题目分析:移除数组中的元素可以分为两种情况,
1,不对原数组进行操作;
不对原数组进行操作的,可以新建一个数组,利用数组的栈方法 push,循环数组中的元素,把不等于特定元素的加入新数组。
function remove(arr, item) {
var res=[];
for(var i=0;i<arr.length;i++){
if(arr[i]==item){continue}
else{
res.push(arr[i]);
}
}
return res;
}
2,对原数组进行操作;可以利用数组的操作方法 splice;需注意,splice返回值为删除的项,同时,splice会改变数组长度,应该执行splice必须执行i--。
function removeWithoutCopy(arr,item) {
for(var i=0;i<arr.length;i++){
if(arr[i]==item){
arr.splice(i,1);i--;
}
}
return arr;
}
时间: 2024-10-26 05:41:43