Javascript 如何在将元素推入数组时使用三元运算符

Javascript 如何在将元素推入数组时使用三元运算符,javascript,ecmascript-6,ecmascript-5,Javascript,Ecmascript 6,Ecmascript 5,我正在尝试根据条件将对象添加到数组中 我的期望是在满足条件时添加两个对象,但我只得到最后添加的对象(缺少其元素) 我得到的输出: [{ label: ‘Alex’, value: ’32’, }, { label: ‘Miller’, value: ’40’, }] [{ label: ‘Alex’,

我正在尝试根据条件将对象添加到数组中

我的期望是在满足条件时添加两个对象,但我只得到最后添加的对象(缺少其元素)

我得到的输出:

[{
            label: ‘Alex’,
            value: ’32’,
          },
{
                label: ‘Miller’,
                value: ’40’,
              }]
[{
            label: ‘Alex’,
            value: ’32’,
          },
{
                label: ‘John’,
                value: ’28’,
              },
{
                label: ‘Miller’,
                value: ’40’,
              }]
期望值:

[{
            label: ‘Alex’,
            value: ’32’,
          },
{
                label: ‘Miller’,
                value: ’40’,
              }]
[{
            label: ‘Alex’,
            value: ’32’,
          },
{
                label: ‘John’,
                value: ’28’,
              },
{
                label: ‘Miller’,
                value: ’40’,
              }]
有人能帮我指出我哪里做错了吗


谢谢。

在Javascript中,当您放置它时,它将执行每个命令(从左到右),并返回上一个命令的结果

在您的例子中,
({label:'John',value:'28',},{label:'Miller',value:'40',})
只生成最后一个对象
{label:'Miller',value:'40',}
,并添加到数组中

要使其工作,请使用数组,然后使用添加它们

const country='USA';
const citizenArray=[];
citizenArray.push([{
标签:“Alex”,
值:“32”,
},
…(国家==‘美国’[{
标签:“约翰”,
值:“28”,
}, {
标签:“米勒”,
值:'40',
}] : [{
标签:'沼泽',
值:“31”,
}])
]);

console.log(citizenArray)只需使用不同的逻辑,如下所示:

const country=“美国”;
让citizenArray=[];
push([{label:“Alex”,value:“32”},…(国家==“USA”[{label:“John”,value:“28”},{label:“Miller”,value:“40”}]:[{label:“Marsh”,value:“31”}]);
console.log(citizenArray)

.as控制台包装{max height:100%!important;top:auto;}
..(国家=='USA'?[{label:'John',value:'28',},{label:'Miller',value:'40',}]:[{label:'Marsh',value:'31',}])
这就是工作原理。但是我不会使用卷曲引号…为什么要用
ecmascript-5
标记?