谷歌电子表格字符串比较
Google Spreadsheet String Comparison
我使用过:
SpreadsheetApp.getActiveSheet().getRange(... some Range ...).getValues();
将电子表格单元格中的字符串存储到数组中。然后将这些字符串与其他字符串进行比较,但即使值相同,比较(使用==)也总是失败。
Browser.msgBox("is '"+topPlayerNames[j]+"' == '"+name+"'? "+(topPlayerNames[j] == name));
// displays:
is 'Data' == 'Data'? false
为什么javascript比较失败?单元格值中是否存在隐藏格式,从而干扰比较?
由于getRange()会给你一个二维数组,通过像一样解释它们
var values = SpreadsheetApp.getActiveSheet().getRange(... some Range ...).getValues();
Browser.msgBox(values);
只是以您期望的方式输出数据,并且彼此完全不匹配。不匹配的原因是您的可变容器保持
CCD_ 1。因此,当你要求输出数据时,它会输出数据。但在比较时,
Does [['a','b',...]] == 'a','b',... ?? The answer is it is not.
因此,您需要从数组中取出数据,以便与其他数据进行比较。在这种情况下,使用值[0][0]来获取"a"(在我的示例中)或获取"d",值[1][0]。。。。等等。您知道javascript数组中的元素编号以0开头。:)
现在你可以比较它们了。因此值[0][0]=="a"将输出TRUE(在我的示例中)
然而,您没有提到什么是topPlayerNames[j],如果它也像上面的值一样,那么您也需要以解释的方式来考虑它。
(你的问题变量有限。所以我需要在解释时多写一些。下次请给出一些带各自变量的解释问题。用短变量代替长语句。这将有助于以简单的方式回答。)
查看在JavaScript中检查字符串相等性的正确方法是什么?
我会用topPlayerNames[j].equals(name)
我从不信任字符串==,因为它经常会导致错误。
相关文章:
- 如何使用 JavaScript 比较字符串变量
- 替换函数后的Javascript比较字符串不起作用
- 如何比较字符串是javascript
- 比较字符串,如果存在小的拼写错误,则返回 true
- Javascript - 比较字符串环境
- 如何在忽略特殊字符的 javascript 中比较字符串
- 比较字符串中的单词
- 在 javascript 中比较字符串与日期时间的问题
- 比较字符串以查找缺少的子字符串
- 比较字符串是否以符号 @ jquery 或 javascript 开头
- 如何在 Javascript 中比较字符串数组
- 从提示返回的Javascript比较字符串
- 比较字符串的准确性(包括偏移)
- 在比较字符串的字符后创建新数组&大堆
- 在键入时比较字符串
- 如何在JavaScript中比较字符串
- javascript比较字符串(用于日期目的)
- JQuery比较字符串时出错
- Jquery比较字符串在POST中不起作用
- JS比较字符串和换行符