//用不同方法移除数组 arr 中的所有值与 item 相等的元素
// 直接在给定的 arr 数组上进行操作,并将结果返回
var arr = [1,2,3,4,5,6,7,8,9,10];
//用forEach来做
function removeItem(arr,item){
//需要直接在给定的arr数组上进行操作
arr.forEach(function(a,i){
if(a==item){
arr.splice(i,1);
}
})
return arr;
}
//用for循环来做
function forDeleteItem(arr,item){
for(var i=0;i<arr.length;i++){
if(arr[i]==item){
arr.splice(i,1);
}
}
return arr;
}
//for in循环来做
function forInItem(arr,item){
for(var key in arr){
if(arr[key]==item){
arr.splice(key,1);
}
}
return arr;
}
// 不修改原素组,保存在新数组中并将结果返回
//map方法
function removeItemNoUpdate(arr,item){
var retArr = arr.map(function(a){
if(a!=item){
return a;
}
})
return retArr;
}
//用for循环来做
function forNewArr(arr,item){
var retArr = [];
for(var i=0;i<arr.length;i++){
if(arr[i]!=item){
retArr.push(arr[i]);
}
}
return retArr;
}
//for in循环来做
function forInNewArr(arr, item) {
var retArr = [];
for (var key in arr) {
if (arr[key] != item) {
retArr.push(arr[key]);
}
}
return retArr;
}
//for of循环来做
function forOfNewArr(arr,item){
var retArr = [];
for(var key of arr){
if(key!=item){
retArr.push(key);
}
}
return retArr;
}