Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/logging/2.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 如何使用reactJS中的Lodash或JS在JSON中动态添加键值对?_Javascript_Reactjs_Lodash - Fatal编程技术网

Javascript 如何使用reactJS中的Lodash或JS在JSON中动态添加键值对?

Javascript 如何使用reactJS中的Lodash或JS在JSON中动态添加键值对?,javascript,reactjs,lodash,Javascript,Reactjs,Lodash,我有这样的JSON: let json = { data:[ {value1: 1}, {Value2: 2} ] } maths:100 science:100 let json = { data:[{value1:1},{Value2:2}] } console.log({...json, maths: 100, science: 100}) 我需要将这两个键值对添加到json中: let json = { data:[

我有这样的JSON:

let json = {
   data:[
     {value1: 1},
     {Value2: 2}
   ]
}

maths:100
science:100
let json = {
   data:[{value1:1},{Value2:2}]
}
console.log({...json, maths: 100, science: 100})
我需要将这两个键值对添加到json中:

let json = {
      data:[
        {value1:1},
        {Value2:2}
      ],
      maths:100,
      science:100
}
您可以这样做:

let json = {
   data:[
     {value1: 1},
     {Value2: 2}
   ]
}

maths:100
science:100
let json = {
   data:[{value1:1},{Value2:2}]
}
console.log({...json, maths: 100, science: 100})

如果您期望此输出

{"data":[{"value1":1},{"Value2":2}],"maths":100,"science":100}
您可以检查以下代码

let json = {
    "data":[
        {
        "value1":1
        },{
        "Value2":2
        }
    ]
}

function pushToAry(name, val) {
   var obj = {};
   json[name] = val;
}

pushToAry("maths", 100);
pushToAry("science", 100);
console.log(JSON.stringify(json));
let json = {
   "data":[
       {
          "value1":1
       },{
          "Value2":2
       }
   ]
}

function pushToAry(name, val) {
   var obj = {};
   obj[name] = val;
   json["data"].push(obj);
}

pushToAry("maths", 100);
pushToAry("science", 100);
console.log(JSON.stringify(json));
否则,如果您期望以下输出

{"data":[{"value1":1},{"Value2":2},{"maths":100},{"science":100}]}
您可以检查以下代码

let json = {
    "data":[
        {
        "value1":1
        },{
        "Value2":2
        }
    ]
}

function pushToAry(name, val) {
   var obj = {};
   json[name] = val;
}

pushToAry("maths", 100);
pushToAry("science", 100);
console.log(JSON.stringify(json));
let json = {
   "data":[
       {
          "value1":1
       },{
          "Value2":2
       }
   ]
}

function pushToAry(name, val) {
   var obj = {};
   obj[name] = val;
   json["data"].push(obj);
}

pushToAry("maths", 100);
pushToAry("science", 100);
console.log(JSON.stringify(json));

请注意,您的问题中没有任何JSON。@Dhanush,不确定您为什么接受此答案,因为在您的问题中,您知道如何在现有JSON中动态添加键值,而不是像在控制台上打印一样..?收到api的响应后..我将把它发送到状态,派遣时,我将使用您的方法。无论如何,我添加的这两个值不是动态的,而是硬编码的。所以不problem@Dhanush,没问题,我的解决方案是基于你提出的问题,因为没有提到这是硬记录的价值观,无论如何,我很高兴知道我能在某种程度上帮助你:)