首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

Typescript合并2个数组,如果它们具有相同的id,则增加数量

Typescript是一种静态类型的编程语言,它是JavaScript的超集,可以在编译时进行类型检查,提供了更强大的类型系统和面向对象的特性。在合并两个具有相同id的数组并增加数量的问题上,可以使用以下代码实现:

代码语言:txt
复制
interface Item {
  id: number;
  quantity: number;
}

function mergeArrays(arr1: Item[], arr2: Item[]): Item[] {
  const mergedArray: Item[] = [];

  // 将arr1中的元素添加到mergedArray中
  for (const item of arr1) {
    const existingItem = mergedArray.find(i => i.id === item.id);
    if (existingItem) {
      existingItem.quantity += item.quantity;
    } else {
      mergedArray.push({ id: item.id, quantity: item.quantity });
    }
  }

  // 将arr2中的元素添加到mergedArray中
  for (const item of arr2) {
    const existingItem = mergedArray.find(i => i.id === item.id);
    if (existingItem) {
      existingItem.quantity += item.quantity;
    } else {
      mergedArray.push({ id: item.id, quantity: item.quantity });
    }
  }

  return mergedArray;
}

// 示例用法
const array1: Item[] = [
  { id: 1, quantity: 3 },
  { id: 2, quantity: 5 },
  { id: 3, quantity: 2 }
];

const array2: Item[] = [
  { id: 2, quantity: 2 },
  { id: 3, quantity: 4 },
  { id: 4, quantity: 1 }
];

const mergedArray = mergeArrays(array1, array2);
console.log(mergedArray);

上述代码定义了一个Item接口,表示数组中的元素,包含id和quantity属性。mergeArrays函数接受两个Item类型的数组作为参数,并返回合并后的数组。在函数内部,我们使用两个循环分别遍历arr1和arr2中的元素,通过find方法查找mergedArray中是否已存在具有相同id的元素。如果存在,则将数量相加;如果不存在,则将该元素添加到mergedArray中。最后,返回合并后的数组。

这个问题中没有明确要求使用腾讯云的相关产品,因此不需要提供相关链接。

相关搜索:如果tibble表具有相同的列,则合并它们的列表如果父id相同,则合并子项的Linq查询具有相同id的jquery/javascript合并数组如果行具有相同的值,则XSLT合并行检查RDD是否包含相同的键,如果包含,则合并它们如果csv文件具有相同的列标题,则合并csv文件;如果未拆分,则合并csv文件如果具有相同的时间,则合并两个数据集中的行如果用户向购物车添加相同的食物选项Laravel,则增加食物的数量如果数组中的对象具有相同的值,则将它们合并到一个对象中合并两个多维数组,如果两个数组中存在相同的in,则合并sum值如何在同一数组中合并具有相同id的对象?合并Typescript中具有匹配相同键的两个不同的数组对象如果两个文件具有相同的列值,则合并这些文件中的行如果纬度和经度具有相同的值,我们如何将它们增加一英尺呢?如果第一个数组相同,则合并元组列表中的元素Vue.js -如果数组中的对象具有相同的标题,则显示更多对象如果另一个"id“具有相同的"panum”,则编写一个显示"id“的select查询。如果项id在javascript中相同,则映射两个数组以将不同的数据合并到一个数组中Django ORM :如果表A在表B中具有相同的id(FK),则选择表A中的行,其中,如果A满足条件,则选择A中的行:查找相同的提供程序id并合并为一个,并在一个提供程序对象数组中合并具有相同提供程序id的服务
相关搜索:
页面内容是否对你有帮助?
有帮助
没帮助

相关·内容

没有搜到相关的沙龙

领券