题解 | #移除数组中的元素#
移除数组中的元素
https://www.nowcoder.com/practice/a93dd26ebb8c425d844acc17bcce9411
题干:移除数组 arr 中的所有值与 item 相等的元素,直接在给定的 arr 数组上进行操作,并将结果数组返回。
分析:可以用splice(index,1)方法实现数组元素的删除。
正向遍历要注意删除元素的时候,原数组的长度发生了变化,要i--。
for(var i = 0; i < arr.length; i++){
if(item == arr[i]){
arr.splice(i,1);
i--;
}
return arr;
}
用逆向遍历:
function removeWithoutCopy(arr, item) { for(var i = arr.length - 1; i >= 0; i--){ if(item == arr[i]){ arr.splice(i,1); } } return arr; }