在开发的过程中,如果在不使用loadsh的情况下,如何自己实现删除数组某一项的功能?如何判断数组中是否有某一个对象项?我们常见的数组和对象的组合是例如如下的样子:
var as =[{id:1,name:"yang"},{id:2,name:"xiao"},{id:3,name:"qi"}];
var bs = {id:1,name:"yang"};
1.删除数组中的对象
Array.prototype.removeByValue = function(val) {
for(var i=0; i<this.length; i++) {
if(JSON.stringify(this[i]).indexOf(JSON.stringify(val))!=-1) {
this.splice(i, 1);
break;
}
}
};
as.removeByValue(bs);
console.log(as);
2.判断数组中是否有某一个对象
function isHasObj(arr,val){
var flag = 0;//1为有 0为没有
for(var i=0; i<arr.length; i++) {
if(JSON.stringify(arr[i]).indexOf(JSON.stringify(val))!=-1) {
flag = 1;
}
}
if(flag==1){
return true;
} else {
return false;
}
}
console.log(isHasObj(as,bs));