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