gpt4 book ai didi

Jquery 使用 $.map 映射 json 数组

转载 作者:行者123 更新时间:2023-12-01 08:02:00 24 4
gpt4 key购买 nike

我对如何使用 $.map 函数而不是常规的 $.each 感到困惑。我有这样的 json 数据。

var arr = {
"x1" :[11,22,33],
"y1":[44,55,66],
"y2":[77,88,99]
};

结果应该是数组 = [[x1,y1,y2], ...]

var 结果 = [[11,44,77],[22,55,88],[33,66,99]];

我希望函数是动态的,它不应该依赖于 arr.x1 等。例如,如果我给它一个数组

var arr2 = {
"aaa" :[11,22,33],
"sss":[44,55,66],
"dd":[77,88,99],
"dddd":[77,88,99],
};

它应该像上面一样动态地添加所有数组,因为它现在有 4 个子数组,所以结果应该是三个子数组,每个子数组有四个元素。我应该能够使用 $.each 等来做到这一点,但目的是学习 $.map。

更新:我的猜测是纯粹的 $.map 解决方案将类似于嵌套 map :

_elements = $.map(_elements, function(e) {
return [$.map(e,function(v) {
return v;
})];
});

最佳答案

您可以像这样构建数组:

var arr = {
"x1" :[11,22,33],
"y1":[44,55,66],
"y2":[77,88,99]
};
var keys = Object.keys(arr), result = [], l=arr[keys[0]].length;
for(var i=0; i<l; i++) result.push($.map(keys, function(k){ return arr[k][i] }));

这将准确构建您所要求的数组。

Demonstration

关于Jquery 使用 $.map 映射 json 数组,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19185605/

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