gpt4 book ai didi

javascript - 在 JavaScript 中操作数组

转载 作者:行者123 更新时间:2023-11-28 15:10:16 24 4
gpt4 key购买 nike

我有两个像这样的数组

var arr1 = ["1", "2", "3", "4"];
var arr2 = [["a", "b", "c", "d"], ["e", "f", "g", "h"], ["i", "j", "k", "l"], ["m", "n", "o", "p"], ["q", "r", "s", "t"]];

我想做的是将两个数组合并以形成如下所示的最终输出

var newArr = [{1: "a", 2: "b", 3: "c", 4: "d"}, {1: "e", 2: "f", 3: "g", 4: "h"}, {1: "i", 2: "j", 3: "k", 4: "l"}, {1: "m", 2: "n", 3: "o", 4: "p"}, {1: "q", 2: "r", 3: "s", 4: "t"}];

因此,有效地从第二个数组中取出每个数组,然后将其与第一个数组合并以形成一个对象。

我只是想知道在 javascript 中执行此操作的最有效方法是什么?

任何帮助将不胜感激

感谢您的宝贵时间

最佳答案

假设输入始终匹配,我将从 arr2 开始:

arr2.map(x => 

但是,此时您想要的是将 x 中的 zip 值和 y 中的相应值一起压缩,所以让我们介绍一个首先是助手(我实际上将其称为 zipKeyVal1 因为它将值从第一个参数映射到键,然后将第二个参数映射到值)。

function zipKeyVal(keys,values) {
var result = {};
for (var i = 0; i < keys.length; i++) {
result[keys[i]] = values[i];
}
return result;
}

这样,我们的解决方案就变成了:

var newArr = arr2.map(x => zipKeyVal(arr1, x));
<小时/>

1哦,显然 underscore.js 调用的是 _.object,而 lodash zipObject

关于javascript - 在 JavaScript 中操作数组,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36769623/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com