Javascript 迭代对象以查找缺少的数字并为其赋值

Javascript 迭代对象以查找缺少的数字并为其赋值,javascript,angularjs,json,object,Javascript,Angularjs,Json,Object,我有一个场景,我需要迭代一个对象,它是: var rating = { "1": "75%", "2": "20%", "3": "10%" } 我需要在rating对象上迭代,如果有任何缺少的rating,我需要将0%分配给它 最终输出: var rating = { "1": "75%", "2": "20%", "3": "10%", "4":"0%", "5":"0%" } 我试过这样做 for (var i = 1;

我有一个场景,我需要迭代一个对象,它是:

var rating = {
    "1": "75%",
    "2": "20%",
    "3": "10%"
}
我需要在rating对象上迭代,如果有任何缺少的rating,我需要将0%分配给它

最终输出:

var rating = {
    "1": "75%",
    "2": "20%",
    "3": "10%",
    "4":"0%",
    "5":"0%"
}
我试过这样做

for (var i = 1; i <= 5; i++) {
    angular.forEach(vm.rating, function(value, key) {
        if (i != parseInt(key)) {
            vm.rating[i.toString()] = "0%";
        }
    });
}
for(var i=1;i试试这个:

for (var i = 1; i <= 5; i++) {
        //angular.forEach(vm.rating, function(value, key) {
            if (!vm.rating[String(i)]) {
                vm.rating[String(i)] = "0%";
            }
        //});
    }
for(var i=1;i试试这个:

for (var i = 1; i <= 5; i++) {
        //angular.forEach(vm.rating, function(value, key) {
            if (!vm.rating[String(i)]) {
                vm.rating[String(i)] = "0%";
            }
        //});
    }

for(var i=1;i您不需要循环两次。您知道您需要什么预定义键,您所要做的就是检查键是否存在,如果不存在,则创建它

for (var i = 1; i <= 5; i++) {
        if (!vm.rating.hasOwnProperty(i.toString())) {
            vm.rating[i.toString()] = "0%";
        }
    }

for(var i=1;i您不需要循环两次。您知道您需要什么预定义键,您所要做的就是检查键是否存在,如果不存在,则创建它

for (var i = 1; i <= 5; i++) {
        if (!vm.rating.hasOwnProperty(i.toString())) {
            vm.rating[i.toString()] = "0%";
        }
    }

for(var i=1;i尝试这样做:

函数合并默认值(评级、默认值){
for(让输入默认值){
如果(!defaults.hasOwnProperty(键)){
继续;
}
如果(!rating.hasOwnProperty(键)){
评级[键]=默认值[键];
}
}
回报率;
}
风险值评级={
"1": "75%",
"2": "20%",
"3": "10%"
}
var默认值={
"1": "75%",
"2": "20%",
"3": "10%",
"4":"0%",
"5":"0%"
}
合并违约(评级、违约);

console.log(评级);
尝试执行以下操作:

函数合并默认值(评级、默认值){
for(让输入默认值){
如果(!defaults.hasOwnProperty(键)){
继续;
}
如果(!rating.hasOwnProperty(键)){
评级[键]=默认值[键];
}
}
回报率;
}
风险值评级={
"1": "75%",
"2": "20%",
"3": "10%"
}
var默认值={
"1": "75%",
"2": "20%",
"3": "10%",
"4":"0%",
"5":"0%"
}
合并违约(评级、违约);
console.log(评级);