[英]Assign new value to null javascript object members
I am having issues figuring out how to find the nulls in my object and replace them with 0's. 我在弄清楚如何在对象中查找空值并将其替换为0时遇到问题。 I was able to access the correct member at one point but once it left the loop their were no longer assigned the 0. I am fairly new to working with objects in js so I am pretty lost.
我能够一次访问正确的成员,但是一旦它离开循环,就不再为它们分配0。对于在js中处理对象,我还很陌生,所以我很迷路。 Any help would be greatly appreciated.
任何帮助将不胜感激。
var data = {
0 : {
Day1: {
Hours: 6,
Minutes: null
},
Day2: {
Minutes: 45
},
Day3: {
Hours: 8,
Minutes: 15
},
1 : {
Day1: {
Hours: 6,
Minutes: 20
},
Day2: {
Hours: 45
Minutes: null
},
Day3: {
Hours: 8,
Minutes: 15
}
};
for (var item in data) {
for (var item2 in item) {
item[item2].Hours = item[item2].Hours || 0;
item[item2].Minutes = item[item2].Minutes || 0;
}
}
//Ignore this line. Just assigning onject to angular scope when finished
$scope.timeInfo = data;
@Ian is correct when he says that in for (variable in object)
loops variables refers to the object key property names. @Ian在说
for (variable in object)
变量for (variable in object)
循环中的变量引用对象键属性名称时是正确的。 So in your case, one way to achieve your objective is the following: 因此,就您而言,实现目标的一种方法是:
(NOTE: I went ahead and added some missing braces in your data
object.) (注意:我继续,并在
data
对象中添加了一些缺少的花括号。)
var data = {
0 : {
Day1: {
Hours: 6,
Minutes: null
},
Day2: {
Minutes: 45
},
Day3: {
Hours: 8,
Minutes: 15
}
},
1 : {
Day1: {
Hours: 6,
Minutes: 20
},
Day2: {
Hours: 45,
Minutes: null
},
Day3: {
Hours: 8,
Minutes: 15
}
}
};
for (var item in data) {
for (var item2 in data[item]) {
data[item][item2].Hours = data[item][item2].Hours || 0;
data[item][item2].Minutes = data[item][item2].Minutes || 0;
}
}
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.