J'ai fait une demande de récupération d'API et mis les résultats dans un tableau. Certains des résultats peuvent revenir non définis ou nuls - plus tard dans le script, je dois transmettre les valeurs sous forme de chaînes - donc s'il n'y a pas de valeur, j'en ai besoin pour passer en tant que valeur de chaîne "". Mais comment puis-je parcourir le tableau et m'assurer que toutes les valeurs sans valeur sont stockées sous forme de chaîne avec ""?

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);

Je voudrais traiter dealArray à la fin et simplement m'assurer que les blancs sont des valeurs de chaîne "" réelles. Je ne veux pas supprimer ou supprimer ces valeurs de l'objet, je veux juste convertir tout ce qui est faux en une chaîne "" (je crois que "" est considéré comme faux en soi)

1
823g4n8901 26 oct. 2020 à 10:42

3 réponses

Meilleure réponse

Une approche consiste à parcourir le tableau,

 var dealArray = [propertyAddress, leadType, dealType, dealSource];
 const result = dealArray.map((deal) => deal ? deal: "");

Une autre approche consiste à initialiser pour vider si la valeur n'est pas présente.

 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]; 
2
UKS 26 oct. 2020 à 07:50

Si vous n'avez aucun autre faux valeurs supérieures à undefined ou null, vous pouvez prendre un logique OU ||

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

Sinon, prenez un Opérateur de fusion nul ?? < / a>.

dealArray = dealArray.map(v => v ?? '')
2
Nina Scholz 26 oct. 2020 à 07:47
var yourNewArray = dealArray.map((item) => item ? item : "")
0
Slim 26 oct. 2020 à 07:46