作者热门文章
- xml - AJAX/Jquery XML 解析
- 具有多重继承的 XML 模式
- .net - 枚举序列化 Json 与 XML
- XML 简单类型、简单内容、复杂类型、复杂内容
我在 JavaScript 中有一个构造函数,它包含 2 个属性 Key
和 Values 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/
我是一名优秀的程序员,十分优秀!