如何根据另一个数组中的值来更新数组中的值?

我有两个数组是这样的。

let array1 = [
  {
    "id": 23,
    "name": "Telangana",
  }
]

这里我需要更新array2 color value inside properties 基于阵列1 numberOfProjects value inside latestMetric. 正如你可以看到,在两个数组中 stateId and id 相同,如果 numberOfProjects 值在 1 - 1000. 我需要更新 color 值为 1然后 numberOfProjects 数值范围为 1000 - 2000. 我需要更新 color 值为 2…等等。我不知道如何实现这一点。我试图映射这两个数组,并能够得到的ID的.但我不知道如何比较他们和更新的值。请帮助我。

解决方案:

你可以这样做

 let updatedArr2 = [];

function updateArr2(arr2values, colorValue) {
  let updatedProperties = { ...arr2values.properties, color: colorValue };
  arr2values.properties = updatedProperties;
  updatedArr2.push(arr2values);
}
array2.map(arr2values =>
  array1.map(arr1values => {
    if (arr2values.properties.stateId === arr1values.latestMetric.stateId) {
      if (
        arr1values.latestMetric.numberOfProjects >= 1 &&
        arr1values.latestMetric.numberOfProjects <= 1000
      ) {
        updateArr2(arr2values, 1);
      } else if (
        arr2values.latestMetric.numberOfProjects >= 1000 &&
        arr2values.latestMetric.numberOfProjects <= 2000
      ) {
        updateArr2(arr2values, 2);
      }
    }
  })
);

console.log(updatedArr2);

给TA打赏
共{{data.count}}人
人已打赏
未分类

调整一个UIImage的大小而不把它完全载入内存?

2022-9-23 11:11:51

未分类

用Typescript从动态字符串数组中获取值

2022-9-23 11:12:09

0 条回复 A文章作者 M管理员
    暂无讨论,说说你的看法吧
个人中心
购物车
优惠劵
今日签到
有新私信 私信列表
搜索