gpt4 book ai didi

javascript - 如何将一个 javascript 数组映射到另一个 javascript 数组

转载 作者:数据小太阳 更新时间:2023-10-29 06:07:34 24 4
gpt4 key购买 nike

我在 JavaScript 中有一个构造函数,它包含 2 个属性 KeyValues array:

function Test(key, values) {
this.Key = key;
this.Values = values.map(values);
}

然后我创建了一组测试对象:

 var testObjectArray = [];
testObjectArray.push(new Test(1, ['a1','b1']), new Test(2, ['a1','b2']));

现在我想将 testObjectArray 映射到单个 key-value 对数组,类似于:

[
{ "Key" : "1", "Value" : "a1" },
{ "Key" : "1", "Value" : "b1" },
{ "Key" : "2", "Value" : "a2" },
{ "Key" : "2", "Value" : "b2" },
]

如何使用数组的 map 函数实现此目的?

最佳答案

我猜你误解了 map()。这是一个非常简单的例子:

a = [1, 2, 3]
b = a.map(function (i) { return i + 1 })
// => [2, 3, 4]

这是 map 的 MDN 文档:https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Array/map .所以你应该重新考虑 map 在你的情况下的使用。顺便说一句 - 您的示例不起作用,因为值不是函数。

这是一个可能的解决方案:

res = [];
a = [['a1','b1'],['a1','b2']];

for (var i = 0; i < a.length; ++i) {
for(var j = 0; j < a[i].length; ++j) {
res.push({"Key": i + 1 , "Value" : a[i][j]});
}
}

关于javascript - 如何将一个 javascript 数组映射到另一个 javascript 数组,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13077318/

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