Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/json/14.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
AngularJs中2个json文件之间的映射_Angularjs_Json - Fatal编程技术网

AngularJs中2个json文件之间的映射

AngularJs中2个json文件之间的映射,angularjs,json,Angularjs,Json,在angularJs中,两个JSON文件之间映射的最佳方法是什么 我想在两个JSON文件之间进行映射,并将其显示在我的表中 JSON 1 [{ “年份”:2013年, “医生”:“史密斯博士”, “疾病”:“流感”, “应用日期”:“2013年3月12日”, “详情”:“患者患流感5天,未开药” }, { “年份”:2014年, “医生”:“拉姆博士”, “疾病”:“发烧”, “应用日期”:“2014年12月31日”, “详情”:“患者患流感5天,未开药” }, { “年份”:2015年, “

在angularJs中,两个JSON文件之间映射的最佳方法是什么 我想在两个JSON文件之间进行映射,并将其显示在我的表中

JSON 1

[{
“年份”:2013年,
“医生”:“史密斯博士”,
“疾病”:“流感”,
“应用日期”:“2013年3月12日”,
“详情”:“患者患流感5天,未开药”
}, {
“年份”:2014年,
“医生”:“拉姆博士”,
“疾病”:“发烧”,
“应用日期”:“2014年12月31日”,
“详情”:“患者患流感5天,未开药”
}, {
“年份”:2015年,
“医生”:“罗博士”,
“病”:“头痛”,
“申请日期”:“2015年3月12日”,
“详情”:“患者患流感5天,未开药”
}, {
“年份”:2016年,
“医生”:“禅博士”,
“疾病”:“发烧”,
“申请日期”:“2016年12月21日”,
“详情”:“患者患流感5天,未开药”
}]
您可以使用:

通过使用,以及

输出:


如果您不需要
成本
,请将
合并
替换为
分配
a.e

var result = _.map(a, function(item) {
    return _.assign(item, _.find(b, ['year', item.year]));
});

通过使用
映射
分配
查找
可以轻松实现这一点:

function merge(json1, json2) {
    if (!json1 || !json1.length || !json2 || !json2.length) {
        return [];
    }
    return json1.map((current) => {
        return Object.assign(current, json2.find((el) => {
            return el.year === current.year;
        }));
    });
}

以下代码可用于合并两个json:

function merge(obj) {
    var sources = [].slice.call(arguments, 1);
    sources.forEach(function (source) {
      for (var prop in source) {
        target[prop] = source[prop];
      }
    });
    return obj;
}

var result = merge({}, json1, json2);

合并两个JSON对象:

var o1 = { a: 1 };
var o2 = { b: 2 };
var o3 = { c: 3 };

var obj = Object.assign(o1, o2, o3);
console.log(obj); // { a: 1, b: 2, c: 3 }
console.log(o1);  // { a: 1, b: 2, c: 3 }, target object itself is changed.
与相同属性合并:

var o1 = { a: 1, b: 1, c: 1 };
var o2 = { b: 2, c: 2 };
var o3 = { c: 3 };

var obj = Object.assign({}, o1, o2, o3);
console.log(obj); // { a: 1, b: 2, c: 3 }

所以您需要用特定年份的“成本”数据填充第一个json?
var o1 = { a: 1 };
var o2 = { b: 2 };
var o3 = { c: 3 };

var obj = Object.assign(o1, o2, o3);
console.log(obj); // { a: 1, b: 2, c: 3 }
console.log(o1);  // { a: 1, b: 2, c: 3 }, target object itself is changed.
var o1 = { a: 1, b: 1, c: 1 };
var o2 = { b: 2, c: 2 };
var o3 = { c: 3 };

var obj = Object.assign({}, o1, o2, o3);
console.log(obj); // { a: 1, b: 2, c: 3 }