1

在开发的过程中,如果在不使用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));

CodeMan
1.4k 声望58 粉丝

《伤害》