Javascript 如何向对象动态添加数组?

Javascript 如何向对象动态添加数组?,javascript,arrays,javascript-objects,Javascript,Arrays,Javascript Objects,我正在努力实现的目标 我正在尝试向对象动态添加数组。也就是说,从 {colour: "white", type: "electric"}; 以 {colour: "white", type: "electric", owners: ["person1", "person2", "person3"] }; 考虑下面的对象 let car = {colour: "white", type: "electric"}; 如果我想向这个对象添加另一个属性,我可以检查它是否存在。然后添加到它,如下所

我正在努力实现的目标

我正在尝试向对象动态添加数组。也就是说,从

 {colour: "white", type: "electric"};

{colour: "white", type: "electric", owners: ["person1", "person2", "person3"] };
考虑下面的对象

let car = {colour: "white", type: "electric"};
如果我想向这个对象添加另一个属性,我可以检查它是否存在。然后添加到它,如下所示

if( typeof car.status === "undefined")
    car.status = "sold";
我尝试过的

使用上述逻辑,我尝试了以下方法

let car={
颜色:“白色”,
类型:“电动”
};
if(车主类型==“未定义”)

汽车。车主。推(“人1”)要将数组添加到对象,请创建数组并将其指定给属性:

let car={
颜色:“白色”,
类型:“电动”
};
if(车主类型==“未定义”){
//VVV-----创建数组
car.owner=[“person1”];
//^^^^^^^---将其分配给属性
}

控制台日志(car)要将数组添加到对象,请创建数组并将其指定给属性:

let car={
颜色:“白色”,
类型:“电动”
};
if(车主类型==“未定义”){
//VVV-----创建数组
car.owner=[“person1”];
//^^^^^^^---将其分配给属性
}
控制台日志(car)
  • 如果对象中存在status属性,则遵循以下代码
  • 如果对象中不存在status属性,则遵循以下代码
  • 如果数组属性在对象内部检查,则应遵循以下示例代码
  • 如果对象中存在status属性,则遵循以下代码
  • 如果对象中不存在status属性,则遵循以下代码
  • 如果数组属性在对象内部检查,则应遵循以下示例代码

  • 通过添加它:
    car.owners=[]
    (而不是使用不存在的示例代码)遵循此链接您可以获得您的答案通过添加它:
    car.owners=[]
    (而不是使用不存在的示例代码)遵循此链接您可以获得您的答案这是太多的智能示例代码,而不是其他示例代码。它遵循ES6版本,如果对象中的
    status
    最初被分配到
    false
    ,该怎么办?如果(car.status){car.status=“sell”;}
    不执行,是否
    。我的答案比其他答案更复杂。所以,请接受我的回答,这是太多的智能样本代码,而不是其他样本代码。它遵循ES6版本,如果对象中的
    status
    最初被分配到
    false
    ,该怎么办?如果(car.status){car.status=“sell”;}
    不执行,是否
    。我的答案比其他答案更复杂。所以,请接受我的回答
    
    let car = {colour: "white", type: "electric",status:"somethings!"};
    if(car.status){
      car.status = "sold";
    }
    console.log(car)
    // o/p { colour: 'white', type: 'electric', status: 'sold' }
    
    let car = {colour: "white", type: "electric"};
    if(car.status){
      car.status = "sold";
    }
    console.log(car)
    // o/p { colour: 'white', type: 'electric' }
    
    let car = {colour: "white", type: "electric"};
    if(car.owners){
      // when the owners property exist 
      car.owners.push("person1");
    } else {
      // when the owners property does not exist
      car.owners = [];
      car.owners.push("person2");
    }
    console.log(car)
    
    // o/p { colour: 'white',type: 'electric',owners: [ 'person2' ] }