Javascript 使用键x&;从2个阵列中创建一个阵列;Y

Javascript 使用键x&;从2个阵列中创建一个阵列;Y,javascript,arrays,functional-programming,ramda.js,Javascript,Arrays,Functional Programming,Ramda.js,我有两个数组xDates和yMentions xDates [1453766400000, 1453852800000, 1453939200000... [5160, 5240, 7090... y说明 [1453766400000, 1453852800000, 1453939200000... [5160, 5240, 7090... 目标是这样一个数组: [ { x: 1453766400000, y: 5160 }, ...

我有两个数组
xDates
yMentions

xDates

[1453766400000, 1453852800000, 1453939200000...
[5160, 5240, 7090...
y说明

[1453766400000, 1453852800000, 1453939200000...
[5160, 5240, 7090...
目标是这样一个数组:

[
    {
       x: 1453766400000,
       y: 5160
    },
    ...
]
尝试使用Think zipObj将是我所需要的,但以下仅生成1个对象:

R.zipObj(['x','x','x'],[1,2,3])=>
{“x”:3}

我想也许我先在x阵列上运行R.zipObj,然后在y阵列上运行R.zipObj,然后将它们压缩在一起,然后将其设置为下面的
提及SpointSarray
的阵列:

const createMentionPoints = (frequencyPoints, termsData) => {
    const yMentions = termsData.mentions;
    const propX = R.prop('x');
    const xPointsFromFrequency = R.map(propX, frequencyPoints);
    console.log('xDates', xPointsFromFrequency)
    console.log('yMentions', yMentions)
    const mentionsPointsArray = []
    return frequencyPoints;
};
你应该使用函数

map()方法创建一个新数组,其结果是在此
数组
中的每个元素上调用提供的函数。提供的函数是一个
回调

结果数组中的元素是对象,如下所示:
{“x”:item,“y”:yMentions[i]}

var xDates=[1453766400000,1453852800000,1453939200000];
变量Y=[516052407090];
console.log(xDates.map)(函数(elem,i){
返回{“x”:元素,“y”:元素[i]}
}));您应该使用函数

map()方法创建一个新数组,其结果是在此
数组
中的每个元素上调用提供的函数。提供的函数是一个
回调

结果数组中的元素是对象,如下所示:
{“x”:item,“y”:yMentions[i]}

var xDates=[1453766400000,1453852800000,1453939200000];
变量Y=[516052407090];
console.log(xDates.map)(函数(elem,i){
返回{“x”:元素,“y”:元素[i]}
}));


我认为最干净的无点版本应该是:

const data1 = ['a', 'b', 'c']
const data2 = [1, 2, 3]

R.zipWith(R.objOf, data1, data2)

请看一看工作的REPL

我认为最干净的无点版本应该是:

const data1 = ['a', 'b', 'c']
const data2 = [1, 2, 3]

R.zipWith(R.objOf, data1, data2)

请看一看工作回复

谢谢!我也找到了拉姆达的解决方案。在我们的应用程序中大量使用Ramda,因为它让事情变得简单多了,我会选择这个并发布我刚刚发现的关于zipWith的信息。谢谢!我也找到了拉姆达的解决方案。在我们的应用程序中大量使用Ramda,因为它让事情变得简单多了,我会选择这个并发布我刚刚发现的关于zipWith的信息。很好的解决方案+很好。它可能太模糊了,但请注意,
createPoint
可以写成
createPoints=R.unapply(R.zipObj(['x','y']))
。这是一个不错的解决方案+很好。它可能太模糊了,但请注意,
createPoint
可以写成
createPoints=R.unapply(R.zipObj(['x','y']))