gpt4 book ai didi

javascript - 迭代一个对象以查找哪些是缺失的数字并为其分配一个值

转载 作者:行者123 更新时间:2023-11-30 07:55:08 25 4
gpt4 key购买 nike

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

var rating = {
"1": "75%",
"2": "20%",
"3": "10%"
}

我需要遍历评级对象,如果有任何缺失的评级,我需要在 1-5 之间迭代 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%";
}
});
}

但是所有的值都变成了0%

如有任何帮助,我们将不胜感激。

最佳答案

你不需要循环两次。你知道你需要什么预定义的键,你应该做的就是检查一个键是否存在,如果不存在则创建它。

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

通过在 for 循环中执行 forEach,您将遍历所有键并与 i 进行比较,并将与 i 不匹配的所有键值重新分配给“0%”。因此,在第一个 i 结束时,您已经将 n-1/n 个键设置为“0%”。

关于javascript - 迭代一个对象以查找哪些是缺失的数字并为其分配一个值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42061497/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com