Javascript 工作表:未找到子字符串的索引
在应用程序脚本中工作我有:Javascript 工作表:未找到子字符串的索引,javascript,google-apps-script,Javascript,Google Apps Script,在应用程序脚本中工作我有: var conversations = row['CONVERSATION'].split('|'); var replies = conversations.map(function(message) { //ONLY CHECKED ROWS. var m = message.toString(); return m.indexOf('R:')==true; }); Logger.log(conversations); Logger.
var conversations = row['CONVERSATION'].split('|');
var replies = conversations.map(function(message) { //ONLY CHECKED ROWS.
var m = message.toString();
return m.indexOf('R:')==true;
});
Logger.log(conversations);
Logger.log(replies);
当我查看日志时:
[19-03-08 11:51:12:892 EST] [R: test3 , R: test3 , tx]
[19-03-08 11:51:12:893 EST] [false, true, false]
为什么回复数组中的第一个元素为false。这不是真的吗
为什么回复数组中的第一个元素为false。难道不是吗
是吗
因此,如果indexOf与第一个元素匹配,则得到的索引为0
,并且您的条件正在检查true
值,但0
不是,因此它将返回false
如果匹配的索引为0
m.indexOf('R:') === true
最好你检查一下
m.indexOf('R:') !== -1
Ref:来自文档:数组中元素的第一个索引-如果未找到,则返回1。它永远不会变成现实。可能是位置0自动转换为布尔值?更好的问题是:为什么第二个元素为真?