我做了一个API get请求,并将结果放入一个数组中。一些结果可能会返回未定义或为null——稍后在脚本中,我需要将值作为字符串传递——所以如果没有值,我需要它作为"字符串"传递"字符串值。但是,我如何在数组中循环并确保任何非值值都存储为具有""
的字符串呢?
var dealresponse = UrlFetchApp.fetch(dealurl, options);
dealresponse = JSON.parse(dealresponse.getContentText());
var propertyAddress = dealresponse.data["9bd1d8c4f07f5795fd8bffb16f3b63c6547d7d3a"];
var leadType = dealresponse.data["c4ecbe01c3494d1be52432f4a3194ede3a50c0f8"];
var dealType = dealresponse.data["a4269fb4730cf7fd1787752be94eacbc4b0de24e"];
var dealSource = dealresponse.data["d76fa2d6f8454a51f7d64d981cd9320877bc2ea0"];
var dealArray = [propertyAddress, leadType, dealType, dealSource];
Logger.log(dealArray);
我想在最后处理dealArray
,并确保空白是实际的""
字符串值。我不想从对象中删除或删除这些值,我只想将任何错误的内容转换为字符串"">
一种方法是在数组中循环,
var dealArray = [propertyAddress, leadType, dealType, dealSource];
const result = dealArray.map((deal) => deal ? deal: "");
另一种方法是,如果值不存在,则初始化为空。
var propertyAddress = dealresponse.data["9bd1d8c4f07f5795fd8bffb16f3b63c6547d7d3a"] || '';
var leadType = dealresponse.data["c4ecbe01c3494d1be52432f4a3194ede3a50c0f8"] || '';
var dealType = dealresponse.data["a4269fb4730cf7fd1787752be94eacbc4b0de24e"] || '';
var dealSource = dealresponse.data["d76fa2d6f8454a51f7d64d981cd9320877bc2ea0"] || '';
var dealArray = [propertyAddress, leadType, dealType, dealSource];
如果没有其他错误值大于undefined
或null
,则可以采用逻辑or ||
dealArray = dealArray.map(v => v || '')
否则,采用Nullish合并运算符??
。
dealArray = dealArray.map(v => v ?? '')