题目:
移除数组 arr 中的所有值与 item 相等的元素,直接在给定的 arr 数组上进行操作,并将结果返回
输入:
[1,2,3,4,2] ,2
输出:
[1,3,4]
使用splice()删除与item相同的值并把数组索引回退一个值(i--)
function removeWithoutCopy(arr, item) {
for (var i = 0; i< arr.length;i++){
if(arr[i] === item){
arr.splice(i,1);
i--;
}
}
return arr;
}
把数组看成是队列,等于item元素直接删除,不等于的,先push再====>>删除。
function removeWithoutCopy(arr, item) {
var n = arr.length;
for (var i = 0; i<n;i++) {
if(arr[0] !== item){
arr.push(arr[0]);
}
arr.shift();
}
return arr;
}
function removeWithoutCopy(arr, item) {
var n = arr.length;
for (var i = 0; i<n;i++) {
if(arr[0] !== item){
arr.push(arr[0]);
}
arr.splice(0,1);
}
return arr;
}