我如何才能有条件地连接两个不同的数组?

米娜·法兹(Mina Fawzy)

我有两个数组,下面有数据,我需要更改第一个数组中的状态以获取arr2中的所有状态而无需重复我提供了一个示例,但这根本不够用

const arr1 = [{ agentId: 1234, state: "CA" }];
  const arr2 = [{ agentId: 1234, AK: "c", AL: "N", CA: "c" }];
  var res = [];
  arr1.forEach((x) => {
    arr2.forEach((y) => {
      if (x.agentId === y.agentId) {
        for (const [key, value] of Object.entries(y)) {
          if (value === "c") {
            x.state += " ," + key;
          }
        }
      }
    });
  });

结果应该是这样的

arr1 = [{ agentId: 1234, state: "CA, AK" }]
关口

您可以使用Set来确保唯一性:

const arr1 = [
  { agentId: 1234, state: "CA" },
  { agentId: 4567, state: "FL" }
];
const arr2 = [
  { agentId: 1234, AK: "c", AL: "N", CA: "c" },
  { agentId: 4567, AK: "N", AL: "c", FL: "c" }
];

for (const x of arr1) {
  const states = new Set([x.state]);
  for (const y of arr2) {
    if (x.agentId === y.agentId) {
      for (const [key, value] of Object.entries(y)) {
        if (value === "c") {
          states.add(key);
        }
      }
      break;
    }
  }
  x.state = [...states].join(", ");
}

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

如何有条件地加入另外两个馆藏

如何有条件地合并两个相同形状的Numpy数组

有条件地在两个不同的列上填充列值

有条件地将因子级别分为两个不同的级别

如何根据某些伯努利分布有条件地从两个不同的高斯中得出?

是否可以(有条件地)从两个不同的集合中查找

如何有条件地将JSON反序列化为枚举的两个不同变体?

有条件地将相同条件拆分为两个不同的表

如何使用两个属性对对象数组进行排序,但根据条件有条件地按排序顺序分组?

有条件地连接两个字符串列

如何有条件地联接两个表

有条件地连接两个数据帧

如何有条件地对两个列表的字段求和

如何为Eclipse中的交叉编译项目有条件地包括两个版本相同的名称不同的库?

如何使一个类有条件地返回其他两个类之一?

基于1个表中的2列有条件地联接到两个不同的表

如何从两个不同的表中按两个不同的类别有条件地排序

我如何有条件地将一个GUI连接到另一个GUI?

如何有条件地将数组中的项目拆分为两个项目?

如何触发两个承诺并有条件地等待一个?

如何有条件地渲染两个组件?

如何有条件地连接两个表

如何有条件地将两个不同的字符串插入到同一个模板中?

在 Excel 中,如何在两个单独的工作表中匹配两个不同的值后有条件地设置单元格格式?

C# 使用互斥体在两个不同的 Windows 窗体之间有条件地执行方法

ES6:只有当该属性存在时,如何才能有条件地向对象添加属性(它本身是一个对象)

如何有条件地渲染两个 JSX 变量?

在 R 中,根据左侧表中指示变量的值,有条件地左连接两个表

如何有条件地从两个不同的 Numpy 数组中选择行?