将数组中的任何空值或假值转换为空字符串" "值 Javascript



我做了一个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]; 

如果没有其他错误值大于undefinednull,则可以采用逻辑or ||

dealArray = dealArray.map(v => v || '')

否则,采用Nullish合并运算符??

dealArray = dealArray.map(v => v ?? '')

最新更新