javascript - 如果数组中的 id 匹配,则设置行中第一列的值
问题描述
我正在尝试在一个范围内设置复选框。firebase_id 数组必须与范围中的 B 列匹配。如果匹配?将行设置为 TRUE。但我得到了一些随机检查的 checboxxes ..
我究竟做错了什么..?
function setCheckboxIfValueKinguinIdExist() {
const AS = SpreadsheetApp.getActiveSpreadsheet();
const SHEET_TESTING = AS.getSheetByName("Testing");
let get_firebase_items = getSelectedIdsFromFirebase();
let firebase_ids = get_firebase_items.map(function(item){return item.kinguinId}); // [ '17','2962','9798']
let last_row = SHEET_TESTING.getLastRow();
let values = SHEET_TESTING.getRange("A2:B"+last_row).getValues();
let row = 1;
for(let a in values) {
let item = values[a][1];
if(firebase_ids.includes(item) === true){
SHEET_TESTING.getRange(row,1).setValue("TRUE");
}
row++;
}
}
解决方案
尝试这个:
function setCheckboxIfValueKinguinIdExist() {
const AS = SpreadsheetApp.getActiveSpreadsheet();
const SHEET_TESTING = AS.getSheetByName("Testing");
let get_firebase_items = getSelectedIdsFromFirebase();
let firebase_ids = get_firebase_items.map(function(item){return item.kinguinId}); // [ '17','2962','9798']
var last_row = SHEET_TESTING.getLastRow();
var values = SHEET_TESTING.getRange("A2:B"+last_row).getValues();
var row = 1;
values.forEach((r,i)=>{
if(firebase_ids.includes(r[1])) {
SHEET_TESTING.getRange(i+2,1).setValue("TRUE");
}
});
}
推荐阅读
- date - AIX Korn Shell - 以 yyyyMM 格式比较日期
- orbeon - 日期/时间占位符本地化
- react-admin - 在编辑视图中编辑关系记录字段
- python-3.x - 是否可以使用 python/pyspark 从 RavenDB 中的数据库加载整个集合?
- aggregate - 跨多个字段访问 2010 查询
- javascript - 如何将 React 函数组件中的输入字段发送到函数
- python - 如何从 .txt 文件中绘图
- c# - 如何从 Azure Function 返回多个服务总线消息?
- laravel - 如何更改查询,使其仅显示名称而不是整个数组(laravel 8)
- javascript - 带电单位(伏特、焦耳...)的 Intl.NumberFormat() 的单位参数无效