在有或没有cheerio的情况下在nodejs中合并两个json对象的有效方法是什么?

问题描述 投票:1回答:1

我正在尝试将两个Javascript对象(如下所示)与nodejs,cheerio和CSS选择器合并。

对象是分开的,因为它们是从两个不同的网页中提取的,并且我无法在正在创建obj1的map函数中使用异步函数。

帮助解决方案或仔细考虑整个过程将非常有帮助。

obj1 = [ 
  { position: 1, data: 'AAA' },
  { position: 2, data: 'BBB' }
]

obj2 = [
  { position: 1, review: 'abc' },
  { position: 2, review: 'def' }
]

output = [
  { position: 1, data: 'AAA', review: 'abc' },
  { position: 2, data: 'BBB', review: 'def' }
]
node.js json merge cheerio
1个回答
0
投票

您可以同时使用Array.mapArray.find

您遍历一个数组,并从另一个数组中找到相应的值。

const obj1 = [{ position: 1, data: "AAA" }, { position: 2, data: "BBB" }];
const obj2 = [{ position: 1, review: "abc" }, { position: 2, review: "def" }];

const result = obj1.map(obj1 => {
  const otherObj = obj2.find(obj2 => {
    return (obj1.position == obj2.position);
  });

  return {
    ...obj1,
    review: otherObj ? otherObj.review : undefined
  };
});

console.log(result)
© www.soinside.com 2019 - 2024. All rights reserved.