如何从数组中的数组中删除空值?

2023-12-21

我正在使用 Google 表格和 Google Apps 脚本。我用过.getRange().getValues从工作表中获取用户电子邮件。

收到的数组示例:[[user1, , ], [user2, user3, ], [user4, user5, user6]]

如您所见,每行(内部数组)最多有三个用户。但是,其中一些单元格为空,导致数组中出现空值。然后我将每个内部数组输入.addEditors()由于用户为空,这会引发错误。

我知道我可以遍历每个数组并删除空数组,然后将新数组推入.addEditors()但这会很丑陋,而且效率很低。我没有足够的经验,不知道如何开发更优雅的方式。

有人可以帮助我了解如何以及为什么以尽可能有效的方式解决这个问题吗?谢谢。

注意:虽然看起来像.filter(Boolean) https://stackoverflow.com/questions/32906887/remove-all-falsy-values-from-an-array解决方案可能有效,我只能让它适用于单个数组,而不适用于数组中的数组。

var myFilterArray = myArray.filter(Boolean);

    arr.forEach(function(x){
      return x.filter(Boolean);
    });

如果深度大于一,我无法让它返回修改后的数组。


我知道我可以遍历每个数组并删除空数组...这几乎是您唯一的选择。有一些方法可以让你的代码看起来更干净,但在幕后有些东西必须循环遍历数组。

这是一个使用的示例Array.map() and Array.filter()

let data = [["bob", , ], ["jake", "john", ""], ["joe", "henry", "morgan"]];
let newData = data.map(x => {
  return x.filter(j => j)
})
console.log(newData);

使用 ES5 语法

var data = [["bob", , ], ["jake", "john", ""], ["joe", "henry", "morgan"]];
var newData = data.map(function(x) {
  return x.filter(function(j) {if (j) return j})
})
console.log(newData);
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

如何从数组中的数组中删除空值? 的相关文章

随机推荐

  • 我可以在 vb .net 中使用关键字作为属性名称吗?

    我必须将一个类序列化 反序列化为 JSON 字符串 并返回 JSON Strinig 必须包含 error 字符串 例如 error something odd occoured id 23 result xxxxx 它指定发生的错误 我怎
  • Mac 键盘快捷键在 iOS 模拟器上不起作用

    All the mac keyboard short cuts like Cmd Q Quit Simulator app Cmd K Toggle keyboard hide show in Simulator etc has stopp
  • 使用 Linq PredicateBuilder 嵌套 OR

    我正在使用谓词生成器编写以下代码 IEnumerable
  • 使用 date-fns 进行时区转换

    我正在尝试在基于 React 的网页中使用 date fns tz 但无法使以下用例正常工作 我在表单中输入了一个日期 该表单应提交到以本地时区存储数据的后端 用户在GMT 2时区选择2021年2月1日 14 00在 UI 中 这与1612
  • 模型驱动表单 - IE11 上的输入占位符问题

    我已将我的应用程序从 Angular 2 x 更新到 Angular 4 0 0 从现在开始 我遇到输入类型文本表单控件的以下问题 在 IE11 上 当接收到焦点时 占位符将被删除 表单控件将设置为 dirty 并将 pristine 设置
  • 如何在重新启动之间保留 GoogleAppEngineLauncher 的本地数据存储?

    我在 Mac OS X 上使用 GoogleAppEngineLauncher GAEL 我的应用程序的数据存储状态在服务器重新启动甚至 GAEL 重新启动之间保持不变 但如果我重新启动 数据存储就会重置 是否有一个设置可以防止此重置 或者
  • 使用 NSComparisonResult 对 CoreData 实体进行排序

    我有这个 distanceSorter h distanceSorter m interface CLLocation DistanceComparison NSComparisonResult compareToLocation CLLo
  • 多个 Vue 实例需要多个 Vuex 模块实例

    我正在将 Vue 集成到表单网站上 这意味着如果页面上有多个表单 我必须创建该 Vue 应用程序的多个实例 所有实例共享同一个 Vuex 存储 我创建了一个 Vuex 模块 以便每个 Vue 实例都可以拥有自己的本地状态 我的主要目标是防止
  • 如何在 Hive 数组中搜索项目?

    我使用 Hive 创建了一个包含以下字段的表 ID 大整数 MSISDN 字符串 天丁 月小号 今年 性别微小 关系状态 TINYINT 教育弦 LIKES AND PREFERENCES STRING 通过以下 SQL 命令填充数据 In
  • 在 JavaFX 客户端中播放 h265 HEVC

    我有一个小型 JavaFX 应用程序可以在 Windows Linux 客户端上播放一些 GoPro 视频 过去我使用的是GoPro 4 我将视频下载到客户端并从本地存储播放 像这样 File file new File AnyVideo
  • 原生 PHP 中具有基本授权的 Soap 标头

    我需要连接到 TeraData SOAP API 该 API 现在需要与登录凭据一起发送授权基本标头 我不知道如何解决这个问题 添加基本 授权标头时 我在 SoapUI 中获得了工作权限 请任何人帮助我直接获取代码 这是 SoapUI 发送
  • 给定一个带有文件名的文本文件,如何在当前目录的子目录中查找文件?

    我在不同的子目录中有一堆具有不同名称的文件 我用这些名称创建了一个 txt 文件 但我无法创建find使用该文件进行工作 我看过关于创建列表的问题 不使用的帖子find 虽然不明白原因 建议 我很难举出一个例子 因为我不知道如何重现目录结构
  • Paypal 与 Google 应用程序引擎-python 集成

    我必须将 paypal 与我的应用程序集成 该应用程序是使用 python 构建在应用程序引擎补丁上的 我在网上搜索并发现 paypal 与谷歌应用程序引擎集成中报告的一些问题 如下所示 http groups google com gro
  • Firebase 的云功能 - getaddrinfo ENOTFOUND

    尝试使用 Paypal 的 API 发出请求PayPal 节点 SDK https github com paypal PayPal node SDK exports requestPayment functions https onReq
  • 致命错误导致没有结果出现(Mysqli)

    我在脚本中遇到此错误 我认为这导致搜索栏无法工作 致命错误 在第 89 行对 web stud xxx Mobile app previousquestions php 中的非对象调用成员函数 bind param 它指向的行是这一行 st
  • 将图标添加到 Visual Studio 代码扩展中的活动栏

    我是 VSC 扩展开发的新手 我从扩展 hello world 开始 我想向活动栏添加一个图标 并在单击它时收到通知 我将这些行添加到 package json viewsContainers activitybar id package
  • React-native Android 仅设置纵向手机否则平板电脑显示横向和纵向

    在这种情况下 我在我的应用程序中遇到了一个小问题 我设置了默认肖像 但现在我想在选项卡中显示肖像和风景 而不仅仅是手机 在手机中仅显示肖像 强制更新为肖像 我点击了此链接 但收到此错误 并且我不明白如何创建文件夹来放置数据 我点击了这个链接
  • 对接口编程,而不是 php 中的实现

    主要设计原则之一是针对接口编程而不是实现 这在 php 或任何其他弱类型语言中是否可能 EDIT 我可能没有把问题写得清楚 我并不是说 php 不能使用接口 它显然可以 我的意思是 针对接口而不是实现进行编程 的设计原则在弱类型语言中是否变
  • 作为服务器和客户端运行应用程序

    我想让我的电脑既是服务器又是客户端 这是我的代码 import java net class tester static int pos 0 static byte buffer new byte 100 static void Clien
  • 如何从数组中的数组中删除空值?

    我正在使用 Google 表格和 Google Apps 脚本 我用过 getRange getValues从工作表中获取用户电子邮件 收到的数组示例 user1 user2 user3 user4 user5 user6 如您所见 每行