我有一个包含两个对象的数组(可以更多)。如下所示
var array = [{ 'a':'hello', 'b': 'world' }, { 'a':'new', 'b': 'world' }];
我有一个带有额外值的对象要从该数组中删除。实施例
var objectInarray = { 'a':'hello', 'b': 'world', 'c': 'extra' }
我如何删除?
编辑:
我想使用{ 'a':'hello', 'b': 'world' }
删除数组的objectInarray
值。最终结果将如下所示
var array = [{ 'a':'new', 'b': 'world' }];
当我们删除了不需要的数组值时。
答案 0 :(得分:2)
我不确定我是否正确理解您的要求。如果需要进行任何更改,请在评论中告知我们。
var array = [{ 'a':'hello', 'b': 'world' }, { 'a':'new', 'b': 'world' }];
var objectInarray = { 'a':'hello', 'b': 'world', 'c': 'extra' };
var opArray = [];
for(var i=0; i<array.length; i++){
var element = array[i];
var isAllPresent = true;
for(key in element){
if(!(objectInarray[key] && objectInarray[key] === element[key] )){
isAllPresent = false;
break;
}
}
if(!isAllPresent){
opArray.push(element);
}
}
console.log(opArray);
opArray
会有剩余的项目。