使用jQuery合并此数组,混淆

3

我有两个简单的JavaScript数组,想在jqPlot上使用,需要按照以下格式整理数据:

[[[x1, sin(x1)], [x2, sin(x2)], ...]]

我的数组是:

$array_1 = [ "Meong", "Aumix" ];
$array_2 = [ 3, 2 ];

如何将它与最终输出合并,如下所示:
$output = [[['Meong', 3], ['Aumix', 2]]];

我尝试使用标准的jQuery合并和组合,但不起作用。 请帮忙。


你到目前为止都尝试了什么? - Tavish Aggarwal
我尝试使用以下代码 var merge = $.merge($.merge([[]], first), second);,但它无法工作。 - Opsional
2个回答

7
你可以使用 Array#map (或者 jQuery.map()) 迭代其中一个数组,并通过 index 获取第二个数组的值:

var $array_1 = [ "Meong", "Aumix" ];
var $array_2 = [ 3, 2 ];

var result = $array_1.map(function(item, index) {
  return [item, $array_2[index]];
});

console.log([result]);


4
你可以使用reduce方法。

$array_1 = [ "Meong", "Aumix" ];
$array_2 = [ 3, 2 ];
let finalArray=$array_1.reduce(function(acc,elem,i){
  acc.push([elem,$array_2[i]]);
  return acc;
},[]);
console.log([finalArray]);


1
我必须说,我更喜欢 #map 而不是 reduce,map 更适合获取一个新的修改后的数组,而 reduce 更适合像获取所有项的总和这样的操作。 - Endless
@Endless,不是每次都是用reduce来创建arraysobjects - Mihai Alexandru-Ionut

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接