Javascript 使用非唯一“键”匹配数组中的对象
我试图使用出现在两个数组中的键来匹配一些值。键不是唯一的,可以在每个数组中出现多次。我想根据集合数组中出现的顺序对它们进行匹配。以下是我现在的处境: var master=[{name:'title1',value:1},{name:'title1',value:2},{name:'title2',value:10},{name:'title3',value:11}]; 变量集=[{titles:['title1','title2'],索引:1},{titles:['title1','title3'],索引:2}]; 对于var x=0;x<长度;x++{ 变量集=集合[x]; 对于变量i=0;iJavascript 使用非唯一“键”匹配数组中的对象,javascript,arrays,Javascript,Arrays,我试图使用出现在两个数组中的键来匹配一些值。键不是唯一的,可以在每个数组中出现多次。我想根据集合数组中出现的顺序对它们进行匹配。以下是我现在的处境: var master=[{name:'title1',value:1},{name:'title1',value:2},{name:'title2',value:10},{name:'title3',value:11}]; 变量集=[{titles:['title1','title2'],索引:1},{titles:['title1','titl
var master = [{name: 'title1', value: 1}, {name: 'title1', value: 2}, {name: 'title2', value: 10}, {name: 'title3', value: 11}];
var sets = [{titles: ['title1', 'title2'], index: 1}, {titles: ['title1', 'title3'], index: 2}];
for (var x = 0; x < master.length; x++) {
var value = master[x];
var sets_in = sets.filter(function(o){return o.titles.indexOf(value.name) !== -1;})
for (var i = 0; i < sets_in.length; i++) {
console.log("set: " + sets_in[i].index + " title: " + value.name + " value: " + value.value);
}
}
小提琴:
这就是你要找的吗?订单上有人嘀咕吗?这就是我想到的。我真的不想和字典打交道。不过,我需要对这两种解决方案进行基准测试,看看它们对性能有何影响(如果有的话) var master=[{name:'title1',value:1},{name:'title1',value:2},{name:'title2',value:10},{name:'title3',value:11}]; 变量集=[{titles:['title1','title2'],索引:1},{titles:['title1','title3'],索引:2}]; 对于var x=0;x<长度;x++{ 变量集=集合[x]; 对于变量i=0;i