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

标签 javascript arrays google-apps-script subset

我是应用程序脚本的新手(之前是 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"]]

注意:

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

引用:

关于javascript - 在 Apps 脚本中使用索引对数组进行子集化,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53733950/

相关文章:

javascript - 使用网格的结果填充表单

google-apps-script - Google Sheets API v4 - 方法 : spreadsheets. values.append

python - 当数字中没有字母时,bytearray.fromhex 不会转换

c++ - 一个数组来保存 C++ 中的任何对象?

arrays - 我正在尝试对来自流的字节进行突变,因为进行解码,但是它不起作用

google-apps-script - 单元格是公式吗?在谷歌脚本中

google-apps-script - 在Google Apps脚本网络应用中使用项目Javascript和CSS文件?

javascript - 对象属性更改时模板不刷新(Ember 2)

javascript - Facebook 分享按钮错误

javascript - 应用程序/javascript 或文本/javascript