【发布时间】:2014-09-29 14:58:09
【问题描述】:
我正在为 Google 电子表格编写脚本。
数组1有一系列的名字(50多个不同的名字)
John, Pete, Paul, ... Michael
数组 2 是从给定的 50 个名称(总共超过 10K)中的一系列重复名称
Paul, Michael, Pete, John, Paul, Paul, Pete, Michael, Paul, Michael,... Michael
如何创建另一个数组,其中包含数组 1 中每个给定名称的出现次数(数组 2)?
无法排序。因此,数组 3 应该考虑数组 1 的顺序。在这种情况下,例如:
1, 2, 3,... 4
如果顺序不重要,我已经看到并证明了如何做到这一点(从数组 2 开始,数组 1 是使用唯一名称创建的,数组 3 包含它们的出现 --> Counting the occurrences of JavaScript array elements),但我所有的方法似乎都没有不行。到目前为止,我有这个:
var namesCountArray = [];
namesArray = ss.getRange("CU3:CU" + rows + "").getValues();
namesSerieArray = ss.getRange("DF3:DF" + rows + "").getValues();
for(var i=0; i< namesArray.length; i++) {
var count = 0;
for(var i = 0; i < namesSerieArray.length; ++i) {
if(namesSerieArray[i] == namesArray[i])
count++;
}
namesCountArray.push([count]);
}
ss.getRange("DB3").setValue(namesCountArray);
【问题讨论】:
-
您真的需要使用脚本来执行此操作吗?您可以简单地使用 counta 公式或更复杂的分析数据透视表?
标签: javascript arrays google-sheets