我终于学会了更好的js方法。我正试图找到一种比目前更快的方法:
在我的代码中,我有两个数组:
第一个位置有唯一的键
那些钥匙在第一个位置但不是唯一的。我要筛选多个具有特定值的条目。
问题是我不想过滤第二个数组中的所有内容。我想选择一些位置,比如项目[1]+项目[5]+项目[6]。我所做的很有效,但我想知道是否有更快的方法来做?
for (let i=0;i<firstArrayOfUniques.length;i++){
const findRef = secondArrayOfMultiple
.filter(item => item[0]==firstArrayOfUniques[i][0]);
// Afterwards, I redo a map and select only the second element,
//then I join the multiple answers
// Is there a way to do all that in the first filter?
const refSliced = findRef.map(x=>x[1]);
const refJoin = refSliced.join(" - ");
canevasSheet.getRange(1+i,1).setValue(refJoin);
}
1条答案
按热度按时间tzxcd3kk1#
您引用的脚本片段将花费几乎所有的运行时间调用
Range.setValue()
方法。每个数据行分别调用它。使用Range.setValues()
取而代之的是,只调用一次,如下所示:请参阅应用程序脚本最佳实践。