使用索引在Apps脚本中对数组进行子集化

时间:2018-12-11 23:32:04

标签: javascript arrays google-apps-script subset

我是app脚本的新手(以前是Matlab用户)。我试图基于另一个数组“索引”的值对数组“名称”进行子集化。两个数组的长度相同:

names = [["name1"], ["name2"], ["name3"], ["name4"], ["name5"],["name6"],["name7"],["name8"],["name9"],["name10"]];
index = [0,0,1,0,1,0,0,0,0,1]; 

我想对数组“名称”进行子集处理,以选择“索引”值为1的名称。我写道:

var subsetNames = names[index];

希望使“ subsetNames”等于:

[["name3"],["name5"],["name10"]]

代码运行,但是“ subsetNames”仍然未定义。如何修改代码以实现子设置?谢谢。

1 个答案:

答案 0 :(得分:1)

这个怎么样?我认为您的情况有几个答案。因此,请将此视为其中之一。

示例脚本:

var names = [["name1"], ["name2"], ["name3"], ["name4"], ["name5"], ["name6"], ["name7"], ["name8"], ["name9"], ["name10"]];
var index = [0,0,1,0,1,0,0,0,0,1]; 
var subsetNames = names.filter(function(e, i) {return index[i] == 1}); // [["name3"],["name5"],["name10"]]

注意:

  • 此脚本假设namesindex的数组长度相同。

参考: