我有一个键值对列表,并且我尝试在另一个数组中存储N次键。我正在与逻辑作斗争,如果我遍历list_of_objects
,我看不到一种方法来跟踪已经分配了哪些键值。
var kv={"a":2,"b":1,"c":1};
var list_of_objects=[bob,bill,jane,joe];//these are objects
目标
bob.kv="a"
bill.kv="a"
jane.kv="b"
joe.kv="c"
回复注释:kv
是对象bob (或bill、jane或joe)的属性
发布于 2017-05-01 10:29:14
您可能想尝试一下Object.keys()
Object.keys(kv).forEach(function(key) {
var val = kv[key];
while(val-- > 0) {
var obj = objects.shift();
obj.kv = key;
console.log(obj)
}
});
发布于 2017-05-01 10:42:28
类似于@MatUtter的答案,但不会改变list_of_objects
数组:
var index = 0;
for (var key in kv) {
if (kv.hasOwnProperty(key)) {
var val = kv[key];
while (val-- > 0) {
list_of_objects[index].kv = key;
index++;
}
}
}
https://stackoverflow.com/questions/43713433
复制相似问题