我正在寻找一种方法,它通常会检查一个数组是否包含一个具有完全相同的参数值的对象。
不是特定的,一般的实现。
例如:
var obj1 = {name : 'name1', id : 1, value : 'value1'};
var obj2 = {name : 'name2', id : 2};
var obj3 = {name : 'name3', id : 3, value : 'value1', title : 'title3'};
var obj4 = {name : 'name4', id : 4, value : 'value1', title : null};
var arrayObj = [obj1, obj2, obj3, obj4];
var test1 = {name : 'name1', id : 1}; // One missing attribut
var test2 = {name : 'name2', id : 2, value : 'value2'}; // One additional attribut
var test3 = {name : 'name3', id : 3, value : 'value1', title : 'title33'}; // attribut with different value
var test4 = {name : 'name4', id : 4, value : 'value1'}; // same attributs beside the null one
var test5 = {name : 'name3', id : 3, value : 'value1', titleBis : 'title3'}; // attributs with different names
var test6 = {value : 'value1', id : 1, name : 'name1'}; // same attributs and attributs value but in different order
containsMethod(arrayObj, test1); // false
containsMethod(arrayObj, test2); // false
containsMethod(arrayObj, test3); // false
containsMethod(arrayObj, test4); // true
containsMethod(arrayObj, test5); // false
containsMethod(arrayObj, test6); // true
containsMethod(arrayObj, obj2); // true
如果不清楚,请在评论中告诉我。 我已经看到了很多特定对象的问题,这里我正在寻找一个通用版本。
理想情况下,这也适用于String,数字等,而不仅仅是具有attributs的对象