在 Javascript 中设置标志
-
09-10-2019 - |
题
下面是我用于 Google 文档电子表格的脚本。
这些链接显示了我正在做的事情:
http://i.stack.imgur.com/uGik7.png
http://i.stack.imgur.com/AbKnQ.png
如何设置一个“标志”,以便当我第二次运行此脚本时,它不会添加之前添加的库存商品?
function myFunction() {
var ss = SpreadsheetApp.getActiveSpreadsheet();
var sheet1 = ss.getSheetByName("Purchase Orders");
var sheet2 = ss.getSheetByName("Inventory");
var data = sheet1.getDataRange();
var i_data = sheet2.getDataRange();
var lastRow = data.getLastRow();
var iLastRow = i_data.getLastRow();
for (i=1;i<=lastRow;i++) {
if (data.getCell(i, 5).getValue() == "stock"){
for (n=1;n<=iLastRow;n++){
if (data.getCell(i,3).getValue() == i_data.getCell(n,3).getValue()) {
i_data.getCell(n, 1).setValue(i_data.getCell(n,1).getValue() + data.getCell(i,2).getValue());
}
}
}
}
}
我想我正在尝试这样做:将商品添加到库存后,脚本会在该行的第 i 列中添加一个 x。然后,当再次运行脚本时,它会跳过 i 列中带有 x 的行
解决方案
在 JavaScript 中,函数就是对象。对象有属性。所以,装饰你的函数:
function myFunction() {
if (!myFunction.alreadyDoneRunIt) {
alert('bapt uia');
myFunction.alreadyDoneRunIt = true;
}
}
for (var i = 0; i < 10; i++) {
myFunction(); // alerts once
}
其他提示
指定一个单元格来保存标志值,并让脚本检查该特定单元格的标志值。
首先将值添加到数组中。每次添加项目时,请检查数组以查看它是否已在其中。然后将数组循环发送到 UI。
这是一篇帮助检查数组是否已包含该值的帖子。stackoverflow.com/questions/237104/
不隶属于 StackOverflow