【发布时间】:2015-05-07 09:30:45
【问题描述】:
所以我有一个接收二维数组和字符串的函数。然后它在表中搜索并计算找到给定字符串的次数。
代码如下:
function getNumberShifts(table, name) {
var amount = 0;
for(i = 0; i < table.length; i++){
for(j = 0; j < table[i].length; j++){
var text = table[i][j].toString();
if(text.indexOf(name)>-1){
amount += 1;
}
}
}
return amount;
}
二维数组并没有那么大,大约 30 x 60。大多数单元格是空的或包含 1 个元素(名称)。有时它可以包含两个。
有没有比 O(n^2) 更有效的方法? (这是一个 Google 表格脚本)
提前致谢!
编辑:示例表:
时间 |星期一 |星期二 |星期三 |星期四 |星期五 |星期六 |星期一 | ...
12:00| --name1 | ---名称2 | ----姓名3 | ---名称2 |名称4 | ----姓名1 |名称2 | ...
.
.
.
(忽略破折号,它们仅用于格式化目的,所以你们“看到”表格)
基本上就是这样。只是一张有名字的桌子。顶行和左列不是发送到函数的表的一部分。只是名字。有些单元格完全是空的,(所以我和我的同事更容易阅读)
【问题讨论】:
-
如果您用英语编写脚本,则更容易理解它在做什么。
-
@MightyPork 也许对你来说更容易,但对 OP 来说可能不是。真的一点点空格比放置变量名更有帮助(所有这些都很明显——
tabell是“表”,tekst是“文本”,navn是“名称”——我不知道'甚至不知道它是什么语言)用英语。 -
是的,对不起。我现在编辑它。翻译它对我来说并不难,但我认为大多数变量都是显而易见的。顺便说一句,这是挪威语:)
-
请输入表格样本,也许我们能想出一个聪明的方法。
-
@Gus Ortiz,当然。有没有办法在stackoverflow上格式化表格?
标签: javascript arrays