filter - 按标签过滤邮件线程数组
问题描述
目标:从 gmail 中获取满足过滤条件的线程数组:
线程必须具有嵌套在标签“状态”下的标签“新”线程不得具有嵌套在标签“状态”下的标签“打开”
尝试失败: var threads_new = GmailApp.search('label:Status-new -label:Status-open'); 给了我相同的结果: var threads_new = GmailApp.search('label:Status-new) 所以“状态/打开”没有被整理出来。
新方法: 我想首先将标签为“new”的所有邮件线程加载为数组“threads_new”,然后创建一个不包含标签“open”的新数组“threads_new_closed”:
var threads_new_closed = threads_new_closed.filter(function(thread) { return thread.getLabels().indexOf("Status/open")!=-1});
错误结果:结果是一个空数组threads_new_closed(数组threas_new中确实存在具有Status/new和没有Status/open的值)
任何想法?非常感谢
解决方案
我找到了以下解决方法:
var threads_new_closed = [];
for (var k = threads_new.length - 1; k >=0; k--) {
var exclude = 0;
var thread_labels = threads_new[k].getLabels()
for (var l = threads_new[k].getLabels().length - 1; l >=0; l--) {
if (thread_labels[l].getName().indexOf("Status/open") != -1) {exclude++};
}
if (exclude == 0) {
threads_new_closed.push(threads_new[k])
}
推荐阅读
- node-red - 多个输入节点红色函数python
- c - sprintf 组合字符数组
- python - 如何在最后一步之前保存我的表单向导?
- java - 处理错误:InvalidGrantException,错误凭据
- ios - 当 prefersLargeTitles 为 true 时自定义 NavigatioItem TitleView
- spring - intellij 中的简单 hello spring 演示不工作错误 http 状态 500
- server - Lua 服务器客户端聊天示例
- javascript - 提交表单不做任何事情
- c# - 如何使用 C# 将多重身份验证登录到 Dynamics 365
- javascript - 如何在一个或多个重复字符的模式上拆分字符串并保留匹配?