Js for 循环来存储值
Js for loop to store values
对于我正在使用 d3 执行的项目.js我需要访问具有多个值的.csv文件,并能够知道同一列有多少行具有一个特定的文本字符串。具体来说,我有一列具有"Sans"或"Serif"值,我试图做的是创建一个 for 循环来获取有多少行具有这些值,但不幸的是没有结果。我试图做的是在.csv加载的回调函数中添加这个循环:
var serif = 0,
sans = 0;
for (var i = 0; i >= dataset.length; i++)
{
if (dataset.Grazie = "Sans")
{ return sans += 1; }
else { return serif += 1; };
};
console.log(serif);
console.log(sans);
但在控制台中,该值仍为 0。数据集中的列称为"Grazie",该列上只有两个值是 Sans 或 Serif。我试过了
任何帮助将不胜感激!谢谢!
编辑:感谢Lugia101101,我设法找到了解决方案,即:
for (var i = 0; i < dataset.length; i++) {
if (dataset[i].Grazie == "Sans") { sans ++; }
else { serif++; }
};
var serif = 0,
sans = 0;
for (var i = 0; i <= dataset.length; i++) {
if (dataset[i].Grazie == "'"Sans'"") {
sans++;
} else {
serif++;
}
}
console.log(serif);
console.log(sans);
您正在做的是返回一个值,该值用于退出函数,return
一个值。您还需要使用比较器 ( ==
) 而不是分配值 ( =
)。
编辑:您还在语句后添加了分号。切勿在大括号后添加分号。
编辑:似乎值等于0的另一个原因是由于for
循环。
记住把它想象成:将i
设置为零,循环直到i
不小于或等于dataset.length
,每循环i
递增一。
比较值时,必须使用==
而不是=
(设置变量的值)。
if (dataset.Grazie = "Sans")
应改为if (dataset.Grazie == "Sans")
正如@MarvinSmit指出的那样,如果要存储增量值,则不应使用return
相关文章:
- 如何将while循环中生成的值存储到变量中,以便以后在JQuery中使用
- 将循环中派生的值存储在javascript中
- for 循环和 if 语句,获取变量并存储它
- 尝试将对象添加到存储阵列中,然后通过循环将它们写出
- 如何改进此会话存储命名系统/for循环
- 如何在循环jQuery中的数组中存储数据
- 循环POS={{k}}k的iMacros没有持有整数值/存储问题
- 我如何在AJAX中循环数据并在其中存储特定值's各自的tr td
- php循环并存储到数组中
- javascript存储循环结果
- 循环访问本地存储中的 json 列表
- 在 laravel 4 上使用循环将数据数组存储到单个数组中
- 等到元素存在,循环,然后存储在变量中
- 如何按顺序循环访问数组,其中序列存储为另一个数组
- Js for 循环来存储值
- 如何将 for 循环的每次迭代的结果存储到数组中 (Javascript)
- 带有本地存储变量的 jQuery 循环不起作用
- S3 循环访问存储桶/文件夹/文件
- 本地存储循环删除 2 条记录后缺少记录(在不同的页面上)
- 存储循环's在localStorage中的值