Skip to content

How to selectively insert keys to an object inside an array of objects based on condition like whether the value array is empty or not in Node.js

Here is the sample code block where I am inserting an object to an array of object through push method :

let sent_by;
let timestamp;
let txt;
let all_links = [];
let all_images = [];
'sent_by' : sent_by,
'timestamp' : timestamp,
'content' : txt,
'links' : all_links,
'images' : all_images

How can I stop inserting the keys – content (string) , links (array) or images (array) to the array of objects when they are empty effectively in Node.js.


You can use the spread operator to conditionally add an element:

  sent_by: sent_by,
  timestamp: timestamp,
  ...(txt && { content: txt }),
  ...(all_links.length > 0 && { links: all_links }),
  ...(all_images.length > 0 && { images: all_images })