如何修改对象

问题描述

我正在尝试根据特定条件“推送”对象内部的信息。

我需要在属性“材料”中插入/推送/分配更多信息,但我不确定如何执行此操作。

这是我当前对象的结构:

const MYOBJECT = {
        "status": "Work","present": true,"materials": [
                   {
                     "link1": {
                          "url": "www.google.com",}
                   },{
                    "driveFile": {
                          "driveFile": {
                             "id": "xyz123456fghtfsdag"       
                                       },"shareMode": "VIEW" 
                                 }
                   },],"dueDate": {
            "day": resource.date_day,"month": resource.date_month,"year": resource.date_year
          },}

我正在尝试添加/推送,如果满足条件,则对象属性“材料”中显示如下所示的变量(“additional1”和“additional2”),而不替换/删除对象中的任何其他信息:>

var additional1 = { "link2": { "url": "www.yahoo.com",} }
var additional2 = { "link3": { "url": "www.bing.com",} }

我正在寻找看起来像这样的 END 结果(假设满足“if 语句”/条件):

 const MYOBJECT = {
            "status": "Work","materials": [
                       {
                         "link1": {
                              "url": "www.google.com",}
                       },// Insert variable addition1
                       {
                         "link2": {
                              "url": "www.yahoo.com",// Insert variable addition2
                       {
                         "link3": {
                              "url": "www.bing.com",{
                        "driveFile": {
                              "driveFile": {
                                 "id": "xyz123456fghtfsdag"       
                                           },"shareMode": "VIEW" 
                                     }
                       },"dueDate": {
                "day": resource.date_day,"year": resource.date_year
              },}

解决方法

materials 是一个数组,因此您可以使用 push() method 在那里添加新成员。

最终的结果应该是这样的:

if (conditionIsMet) {
  MYOBJECT.materials.push(additional);
}

请注意,push() 方法将元素添加到数组的末尾,因此如果您希望结果位于数组的中间(就像您在示例中所做的那样),您需要指定额外的这个逻辑。

相关问答

Selenium Web驱动程序和Java。元素在(x,y)点处不可单击。其...
Python-如何使用点“。” 访问字典成员?
Java 字符串是不可变的。到底是什么意思?
Java中的“ final”关键字如何工作?(我仍然可以修改对象。...
“loop:”在Java代码中。这是什么,为什么要编译?
java.lang.ClassNotFoundException:sun.jdbc.odbc.JdbcOdbc...