如何使用sailsjs-nodejs连接/合并两个json对象
How to join/merge two json objects using sailsjs-nodejs
你好,我是 Sailsjs-Nodejs 的新手。在我的控制器中,我有两个 JSON 对象需要合并/连接,以便我可以制作第三个对象来发送响应
res.send(obj1( 输出
[
{
total_fare: "376",
arrival_to: "ABV"
},
{
total_fare: "312",
arrival_to: "ACC"
},
{
total_fare: "432",
arrival_to: "BFN"
}
]
res.send(obj2( 输出
[
{
url: "nigeria.php",
country: "Nigeria",
city_code: "ABV"
},
{
url: "ghana.php",
country: "Ghana",
city_code: "ACC"
},
{
url: "south-africa.php",
country: "South Africa",
city_code: "BFN"
}
]
这是我的预期结果res.send(obj3( 应该输出
[
{
url: "nigeria.php",
country: "Nigeria",
city_code: "ABV",
total_fare: "376",
arrival_to: "ABV"
},
{
url: "ghana.php",
country: "Ghana",
city_code: "ACC",
total_fare: "312",
arrival_to: "ACC"
},
{
url: "south-africa.php",
country: "South Africa",
city_code: "BFN",
total_fare: "432",
arrival_to: "BFN"
}
]
您可能可以在不修改源数组的情况下执行以下操作;
var arr = [{total_fare: "376",arrival_to: "ABV"},
{total_fare: "312",arrival_to: "ACC"},
{total_fare: "432",arrival_to: "BFN"}],
brr = [{url: "nigeria.php",country: "Nigeria",city_code: "ABV"},
{url: "ghana.php",country: "Ghana",city_code: "ACC"},
{url: "south-africa.php",country: "South Africa",city_code: "BFN"}],
merged = arr.map((o,i) => Object.assign({},o,brr[i]));
console.log(merged);
检查这个例子。
使用lodash
套餐,我正在使用_.map()
来浏览总票价,并使用_.find()
我通过arrival_to == city_code
找到第一个问题,并_.extend()
连接对象。
当您的对象数组不是连续的,以及总票价多于国家/地区列表中的元素时,此示例非常有用。
我特别添加了{total_fare: "111",arrival_to: "ACC"}
来向您展示,并在有 2 个或更多具有相同 arrival_to
字段的对象时举例。
// const _ = require('lodash'); //uncomment on serverside usage
let totalFares = [{total_fare: "376",arrival_to: "ABV"},
{total_fare: "312",arrival_to: "ACC"},
{total_fare: "432",arrival_to: "BFN"},
{total_fare: "111",arrival_to: "ACC"}];
let countries =
[{url: "nigeria.php",country: "Nigeria",city_code: "ABV"},
{url: "ghana.php",country: "Ghana",city_code: "ACC"},
{url: "south-africa.php",country: "South Africa",city_code: "BFN"}];
totalFares = _.map(totalFares, (totalFare) => {
_.extend(totalFare, _.find(countries,
(country) =>
country.city_code == totalFare.arrival_to));
return totalFare;
});
console.log(totalFares);
<script src="https://raw.githubusercontent.com/lodash/lodash/4.14.1/dist/lodash.js"></script>
相关文章:
- 如何使用 node.js 比较两个 json 数组
- 将两个Json提要合并为一个,并按时间排序
- 如何使用jQuery合并两个json对象
- '对象不是函数'当使用angular连接两个json数组时
- 是否有任何功能可以合并两个JSON数据集并替换旧信息?(节点.JS)
- 如何将两个json对象合并为一个json
- AngularJS:用两个JSON数组填充复选框列表,最初检查了一个数组中的一些项
- 如何从.ajax调用返回两个JSON数组
- 通过比较另外两个json对象来创建json对象
- 在不使用jQuery的情况下连接两个JSON对象
- 两个 JSON 请求的列表
- Angularjs - 组合两个 json 对象
- JavaScript 中通过公共属性“交叉”两个 JSON 对象数组的最佳方式
- 比较来自输入 AngularJS 的两个 JSON 对象
- 比较两个JSON数组并重新排列新的JSON数组格式
- 如何从两个 JSON 数组获取增量
- 遍历两个 JSON 数组 Ajax
- 同时在窗体中显示两个 JSON 值
- Javascript:根据其他字段合并两个JSON
- 如何合并两个 JSON 文件,然后检索它