使用我拥有的应用脚本:
var conversation = [R: test1 , R: test3 , tx , I sent ]
我想获取包含'R:'的元素的索引列表,所以我尝试了
var replies = conversation.map(function(message) {
message.indexOf('R:')!== -1 && return conversation.indexOf(message);
});
但是现在我无法保存函数,并且出现语法错误。我在做什么错了?
答案 0 :(得分:2)
两件事:
map
来做到这一点。return
放在错误的位置,这是语法错误的原因。要一次性完成,最简单的方法是使用forEach
和push
(因为Apps脚本不支持for-of
):
var replies = [];
conversation.forEach(function(message, index) {
if (message.indexOf("R:") !== -1) {
replies.push(index);
}
});
但是您可以使用map
和filter
分两次通过:
var replies = conversation
.map(function(message, index) {
return message.indexOf("R:") !== -1 ? index : -1;
})
.filter(function(index) {
return index !== -1;
});
答案 1 :(得分:2)
您可以在发现care='a'
的地方使用reduce并保持推送索引
{'m:2, 'f':1}