首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >带稀疏数组的Zip

带稀疏数组的Zip
EN

Stack Overflow用户
提问于 2018-03-20 13:42:42
回答 2查看 213关注 0票数 1

我有两个数组,其中一个是稀疏的。我想在它们上执行本质上是外部连接的操作。

代码语言:javascript
复制
const a = ['a', 'b']
a[3] = 'c'
// a is Array(4) [ "a", "b", <1 empty slot>, "c" ]

R.zipSparse([1, 2, 3, 4], a)
// expected output: [[1, 'a'], [2, 'b'], [3, undefined], [4, 'c']]

任何关于如何在Ramda或普通Javascript欢迎中实现这一功能的建议。

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2018-03-20 13:50:23

代码语言:javascript
复制
function zipSparse(arr, join) {
  return arr.map((i, index) => [i, join[index]])
}

为了解释这里发生了什么,我们使用map迭代器,遍历arr中的每个项,然后在第二个数组联接的索引处加入相同的项

Objects/Array/map

票数 3
EN

Stack Overflow用户

发布于 2018-03-20 13:58:39

这实际上是R.zip的行为。

更具体地说,R.zip将事情合并到所报告的输入长度中的较小部分。它们都有长度4,因此它将返回一个四元素数组作为响应。索引3将包含[3, undefined]

当然,在没有Ramda的情况下,这很容易写成@JoeWarner的回答和@dsfq秀的评论。

票数 5
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/49385871

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档