【问题标题】:Typescript - Multi list map() function [duplicate]Typescript - 多列表映射()函数
【发布时间】:2020-01-09 12:10:59
【问题描述】:

是否有类似于 map() 的函数可以将多个数组作为输入。

我说的是这样的:

arr1 = [0,1,2];
arr2 = [2,4,6];

result = [arr1, arr2].multiMap((item1, item2) => item1 + item2);

console.out(result);

// output: [2,5,8] 

我确定它应该存在,但我就是找不到。

【问题讨论】:

  • 不,它不存在。如果您愿意,可以使用 map 轻松实现它,也可以使用第三方库。
  • 非常简单的解决方案,带有简单的 for 循环...无需复杂化
  • @JurajKocan,感谢您的建议。我知道这是可以做到的,但我一直在寻找更紧凑、更易读的解决方案。

标签: arrays typescript


【解决方案1】:

不直接。但是map函数的回调得到三个参数,不只是一个,第二个是索引,可以用来获取并行数组的对应元素。 (第三个是数组本身,可以忽略。)

result = arr1.map((item1, i) => item1 + arr2[i])

或者更易读,性能稍差

result = arr1.map((_, i) => arr1[i] + arr2[i])

【讨论】:

  • 非常感谢,它工作得很好,很干净。
猜你喜欢
  • 2020-08-29
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2012-09-27
  • 2023-03-14
  • 1970-01-01
  • 1970-01-01
  • 2021-07-27
相关资源
最近更新 更多