gpt4 book ai didi

javascript - 使用 JavaScript 的 for 循环逻辑

转载 作者:行者123 更新时间:2023-11-30 17:31:37 27 4
gpt4 key购买 nike

我在尝试使用 JavaScript 在 for 循环内执行一些计算时遇到了一些问题:

for (var j = 0; j < count; j++) {
var attributes;
if (latlng !== 'Null') {
attributes = results[j].feature.attributes;
}
var totalYC = parseInt(attributes["AGE_0_2"] + attributes["AGE_3_4"] + attributes["AGE_5_6"]);
var r = {
pa: attributes["Planning Area Name"],
sitearea: parseFloat(attributes["SHAPE_Area"] * 0.0001),
total_pop: parseInt(attributes["TOTAL_POPULATION"]),
scpr: parseInt(attributes["TOTAL_SCPR"]),
yc: parseInt(totalYC),
age_0_2: parseInt(attributes["AGE_0_2"]),
age_3_4: parseInt(attributes["AGE_3_4"]),
age_5_6: parseInt(attributes["AGE_5_6"]),
};

r_array.push(r);
}

我希望我的 totalYC 求和 attributes["AGE_0_2"] + attributes["AGE_3_4"] + attributes["AGE_5_6"] 的总和一次。假设 attributes["AGE_0_2"] 是 1,attributes["AGE_3_4"] 是 2,attributes["AGE_5_6"] 是 3。 totalYC 应该是 6,但不要循环遍历整个 for 循环并继续加。

提前致谢。

最佳答案

在将它们添加到一起之前,您必须单独解析这些项​​目。

用你的例子

  • 属性["AGE_0_2"] 为 1
  • 属性["AGE_3_4"] 为 2
  • 属性["AGE_5_6"] 为 3

你的代码

var totalYC = parseInt(attributes["AGE_0_2"] + attributes["AGE_3_4"] + attributes["AGE_5_6"]);

可能返回 123

如果你改成

var totalYC = parseInt(attributes["AGE_0_2"]) + parseInt(attributes["AGE_3_4"]) + parseInt(attributes["AGE_5_6"]);

你现在应该得到 6

编辑

因为 JavaScript 没有类型化变量,它假定您将字符串附加在一起。

因此,当您键入 attributes["AGE_0_2"] + attributes["AGE_3_4"] + attributes["AGE_5_6"] 时,就像您在说 "1"+ "2"+ "3"。 JavaScript 将尝试将这些值附加在一起,返回 "123"

使用 ParseInt 方法告诉 JavaScript 首先尝试将这些变量解析为数字。 JavaScript 足够聪明,知道 + 运算符因此是数学运算符,而不是追加。

关于javascript - 使用 JavaScript 的 for 循环逻辑,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22951574/

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