gpt4 book ai didi

javascript - jQuery map 不适用于 json 数组

转载 作者:行者123 更新时间:2023-11-30 07:22:54 24 4
gpt4 key购买 nike

我有一个调用 php 文件的 $.post jQuery 调用。然后该文件返回一个 JSON 编码的数组。然后,映射数组以编辑数组中的一些数据。但是,我得到错误 arr.map is not function

这是在 $.post 调用中传递的数组。

[{"set":"Alpha","key":"256"},
{"set":"Omega","key":"671"},
{"set":"Theta","key":"762"},
{"set":"Beta","key":"462"}]

这是 map 功能。

idHash = {'Alpha': '1', 'Beta': '2', 'Theta': '3', 'Omega': '4'};
var arr = arr.map(function(item){
item.set = idHash[item.set]
return item;
})

在 map 函数之后,数组应该是这样的。

[{"set":"1","key":"256"},
{"set":"4","key":"671"},
{"set":"3","key":"762"},
{"set":"2","key":"462"}]

最佳答案

您正在执行的数组 .map() 需要是一个 jquery 对象。如果您将结果数据设置为一个附加了 $ 的 jquery 数组,您应该能够使用 jquery map 实用程序。您还可以使用 $.map(array, function(item){});,

https://jsfiddle.net/62v2a0cw/1/

idHash = {'Alpha': '1', 'Beta': '2', 'Theta': '3', 'Omega': '4'};

var arr = $.map(idHash, function(item){
item.set = idHash[item.set];
console.log(item);
return item;
});

请参阅 jsFiddle 链接。让我知道是否有帮助。这只是为了协助 .map()。如果您想创建一个 JSON 对象数组,您可以使用 jQuery .each() 并将每个键、值对相应地推送到一个数组。您可以根据需要在每次迭代中使用操纵值。根据您的评论,假设您正在使用的由 idHash 标识的 JSON 等于 {'Alpha': '1', 'Beta': '2', 'Theta': ' 3', '欧米茄': '4'}

arr = [];
idHash = {'Alpha': '1', 'Beta': '2', 'Theta': '3', 'Omega': '4'};

$.each(idHash, function(key, value){
// do whatever with the value before setting
value *= 15;
arr.push({"set": key, "key": value });
});
console.log(arr);

https://jsfiddle.net/62v2a0cw/2/

关于javascript - jQuery map 不适用于 json 数组,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31361124/

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