想知道是否有一种廉价的方法来比较基于仅包含部分数据的对象之一的2个对象。想象一下,我有以下几点:
var matrix = {
3: {
1:2,
5:20,
11:3
8:17
},
5: {
1:3,
5:18,
8:17,
11:4
},
6: {
1:3,
5:18,
8:17,
11:6
}
};
我也有:
var data = {
8:17,
1:2
};
我想找出matrix
对象中哪些子对象仍与我的data
对象匹配。可以想象,我将继续构建data
对象,直到它与matrix
中的子对象长度相同(在本例中为4)。最终目标是从matrix
中找到一个与data
对象匹配的子对象。在此之前,我通过忽略matrix
中与我的部分data
集不匹配的任何对象来减少可能性。
如果存在所有键:值对,则对象仅被视为匹配。订单无关紧要,只是存在。在此处给出的示例中,只有来自matrix
的第一个对象(3的键)才会被视为匹配。总会有一场比赛。
我已经尝试过创建一些嵌套循环,但它会让人非常困惑。想知道是否有一些我尚未遇到的方法或技术。
可以使用普通jane JS或jQuery。任何方向都非常感谢。