我正在通过 Google App Script 分析 Google Sheet 中的信息,通过 Google Sheet 的总活动范围,我获得了一个多维类型的 javascript 对象,我将其转换为具有函数的 JSON 对象JSON.stringify(miObjetoMultidimensional)
。
我得到一个对象,该对象又充满了空值,我已经尝试了多种方法将它们从我的对象中删除,因为我不需要它们但我无法成功。
我了解 Google AppScript 在Rhino之上运行,因此我无法运行 ES6 中可用的箭头函数。
这是函数输出中获得的对象的一部分。
[
[
"asm-tree.jar",
"",
"",
"commons-beanutils.jar",
"",
"",
"commons-collections.jar",
"",
"",
"util-java.jar",
"",
"",
"bcprov-jdk14-1.38.jar",
"",
"",
""
],
[
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
""
],
[
"\nDependencies",
"",
"",
"\nDependencies",
"",
"",
"\nDependencies",
"",
"",
"\nDependencies",
"",
"",
"\nDependencies",
"",
"",
"\nDependencies"
],
[
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
""
]
]
我尝试传递一个函数来验证其中的数据,JSON.stringify()
但这些字段一直显示为空。
我添加了我当前的功能。
function listValues() {
var activeSheet = SpreadsheetApp.getActiveSheet();
var dataRange = activeSheet.getDataRange();
var data = dataRange.getValues();
var json = JSON.stringify(data,function(key, value) {
if (value === '') {
return null;
}
return value;
});
SpreadsheetApp.getUi().alert(json);
}
简短的回答
使用功能
filter
。解释
filter 函数返回满足条件的元素。在所描述的情况下,对象是“数组”的“数组”,因此您必须使用某种循环来遍历每个“数组”。
下面是一个
for
使用 Stacksnippet 进行快速演示的示例:OP的代码看起来像这样