以下代码在javascript env中运行时有效。但是当我在Express中执行相同的操作时,该方法将不起作用。任何帮助将不胜感激。
function joinJson(dest,src){
for(var key in src){
dest[key] = src[key];
}
return dest;
}
j = {currentTime : "time"};
router.get('/:id',(req,res) => {
Timer.findById(req.params.id)
.then(timer => {
res.send(joinJson(timer,j));
})
.catch(err => res.status(404))
});
是否有内置函数来连接两个JSON对象?
答案 0 :(得分:2)
您可以使用Object.assign合并两个对象中的键
const object1 = {
a: 1,
b: 2,
c: 3
};
const object2 = {
d: 4,
e: 5
}
const object3 = Object.assign(object1, object2);
console.log( object3);
答案 1 :(得分:0)
您可以在ES6中使用传播语法
const timer = {
id: 1
}
const j = { currentTime: 'time' };
const union = {...timer, ...j};
console.log(union);
因此在您的代码中,它将变为
j = {currentTime : "time"};
router.get('/:id',(req,res) => {
Timer.findById(req.params.id)
.then(timer => {
res.send({
...timer,
...j
});
})
.catch(err => res.status(404))
});
希望有帮助