【发布时间】:2016-08-26 16:21:49
【问题描述】:
这是我想要做的:
我有数据。这些数据是非结构化的,我试图让它看起来整洁,以便我可以用它做一些事情。
有一个名为“地址”的列。如果地址列的值为“ADDRESS”,那么我想做一个值取 1 的计数。如果它不是“ADDRESS”,我希望计数增加。
目前的作用: 如果值“ADDRESS”出现,我的计数器的值为 1,如果值不是“ADDRESS”但值不会自行重置,它会增加。它一直在继续,好像什么都没发生过一样。
我的代码:
var count_y = -1;
for(a = 0; a<= New_Row_Num; a++){
if(Address == 'ADDRESS'){
count_y = 1;
//count_y == 0;
}else{
count_y += 1;
}
}
我尝试过的除了上面发布的代码之外没有用: 我尝试创建一个数组并将其赋值为 1。如果“地址”列的值为 'ADDRESS',则数组返回值为 1,否则数组将增加值。这与上面的效果相同,只是数字不同。
请帮助我理解我做错了什么,谢谢。
【问题讨论】:
-
你不是在访问数组元素,你只是在访问全局变量
Address。 -
您的循环遍历变量
a,但从不使用这些值。所以在循环的每一次迭代中,Address的值都不会改变,所以循环中的条件永远不会改变……总是执行count_y += 1这一行。 -
为什么不使用这些值?我最后有“a++”吗?我不明白我在哪里搞砸了。
-
你没有做类似
Address = addr_array[a];的事情。 -
请同时添加数据数组。
标签: javascript if-statement pentaho pentaho-data-integration