javascript - 如何将 JSON 对象合并为 1 个 JSON 对象

标签 javascript json

给定:

var result1 = [{'p1':'v1'}];  
var result2 = [{'p2':'v2'}];  
var array1 = [{'p3':'v3'},{'p4':'v4'}];  

规则:
如果数组有一个属性,则将属性添加到主数组中以返回。
如果数组有多个属性,请添加标签并保持数组不变。

https://jsfiddle.net/3unx0hsa/5/

function mergeJson(data) {  
    let newarray1 = [];

    for (let index = 0; index < resultsArray.length; index++) {
        let element = resultsArray[index][0];

        if (element.length === 1) {            
            newarray1.push(element);
        }

        if (element.length > 1) {
            var x = `{data${index}: ${element}`;
            newarray1.push(x);
        }
    }
}

说明: enter image description here

最佳答案

模板字符串文字创建一个字符串。您需要一个对象文字来代替

var x = {[`data${index}`]: element};

var result1 = [{'p1': 'v1'}];
var result2 = [{'p2': 'v2'}];
var array1 = [{'p3': 'v3'}, {'p4': 'v4'}];

let x = mergeJson([result1, result2, array1]);
console.log(x);

function mergeJson(resultsArray) {
  let newarray1 = [];

  for (let index = 0; index < resultsArray.length; index++) {
    let element = resultsArray[index];

    if (element.length === 1) {
      newarray1.push(element[0]);
    }

    if (element.length > 1) {
      var x = {[`data${index}`]: element};
      newarray1.push(x);
    }

  }

  return newarray1;
}

关于javascript - 如何将 JSON 对象合并为 1 个 JSON 对象,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51370264/

相关文章:

javascript - 无法使用 Node.js 从 mongoDB 检索数据

c# - 使用 JSON.net 和 .net WebApi 反序列化 TimeSpan

javascript - 从数组中排除值后获取下一个最高日期值

javascript - 是否可以确保内容脚本注入(inject)的代码首先运行

Javascript var 内部函数

php - Mysql 列数限制。使用一张表还是创建一张新表?

json - 在 Go 中将组合对象转换为 json

javascript - 获取当前月的当前周

json - 用于展平对象数组的 JMESPath 表达式,每个对象都有嵌套的对象数组

json - djangorest框架json序列化器