Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/388.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 如何根据Node.js中的值数组是否为空等条件,有选择地在对象数组中插入对象的键_Javascript_Node.js_Arrays - Fatal编程技术网

Javascript 如何根据Node.js中的值数组是否为空等条件,有选择地在对象数组中插入对象的键

Javascript 如何根据Node.js中的值数组是否为空等条件,有选择地在对象数组中插入对象的键,javascript,node.js,arrays,Javascript,Node.js,Arrays,下面是示例代码块,我通过push方法将对象插入到对象数组中: let sent_by; let timestamp; let txt; let all_links = []; let all_images = []; data_object['messages'].push({ 'sent_by' : sent_by, 'timestamp' : timestamp, 'content' : txt, 'links' : all_links, 'images' : all_images })

下面是示例代码块,我通过push方法将对象插入到对象数组中:

let sent_by;
let timestamp;
let txt;
let all_links = [];
let all_images = [];

data_object['messages'].push({
'sent_by' : sent_by,
'timestamp' : timestamp,
'content' : txt,
'links' : all_links,
'images' : all_images
})

当Node.js中的键为空时,如何停止向对象数组插入键-内容(字符串)、链接(数组)或图像(数组)。

在控件结构中使用简单的
if
语句:

if(txt&&links.length&&all\u images.length){
数据对象['messages']。推送({
“发送人”:发送人,
“时间戳”:时间戳,
“内容”:txt,
“链接”:所有链接,
“图像”:所有图像
})
}

只有拥有3个道具的元素才会被推送到数组中

在控制结构中使用简单的
if
语句:

if(txt&&links.length&&all\u images.length){
数据对象['messages']。推送({
“发送人”:发送人,
“时间戳”:时间戳,
“内容”:txt,
“链接”:所有链接,
“图像”:所有图像
})
}

只有拥有3个道具的元素才会被推送到数组中

您可以使用spread操作符有条件地添加元素:

data_object["messages"].push({
  sent_by: sent_by,
  timestamp: timestamp,
  ...(txt && { content: txt }),
  ...(all_links.length > 0 && { links: all_links }),
  ...(all_images.length > 0 && { images: all_images })
});

可以使用“排列”操作符有条件地添加元素:

data_object["messages"].push({
  sent_by: sent_by,
  timestamp: timestamp,
  ...(txt && { content: txt }),
  ...(all_links.length > 0 && { links: all_links }),
  ...(all_images.length > 0 && { images: all_images })
});

可能存在其他条件,如txt存在,但其他条件不存在,或者其中任何一个条件存在。好的,我知道了,我误解了你的意思。如果是这样的话,另一个答案可能会有帮助。可能还有其他条件,比如txt存在,但其他条件不存在,或者其中任何一个存在。好的,我明白了,我误解了你。如果是这样,另一个答案可能会有所帮助