我是应用程序脚本的新手(之前是 Matlab 用户)。我试图根据另一个数组“索引”的值对数组“名称”进行子集化。两个数组的长度相同:
names = [["name1"], ["name2"], ["name3"], ["name4"], ["name5"],["name6"],["name7"],["name8"],["name9"],["name10"]];
index = [0,0,1,0,1,0,0,0,0,1];
我想对数组“names”进行子集化,以仅选取“index”值为 1 的名称。我写道:
var subsetNames = names[index];
希望“subsetNames”等于:
[["name3"],["name5"],["name10"]]
代码运行,但“subsetNames”仍未定义。如何修改代码来实现子集化?谢谢。
最佳答案
这个怎么样?我认为针对您的情况有几个答案。所以请将此视为其中之一。
示例脚本:
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"]]
注意:
- 此脚本假设
names
和index
的数组长度相同。
引用:
关于javascript - 在 Apps 脚本中使用索引对数组进行子集化,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53733950/