gpt4 book ai didi

java - 如何使用 Jquery 按值而不是按键打印 HashMap

转载 作者:行者123 更新时间:2023-11-30 08:05:08 25 4
gpt4 key购买 nike

这是使用 jQuery 将 map 列出到 jsp 中的代码。

function getCustomerMap() {
$.ajax({
url: serverUrl + "/getMap",
success: function (data) {
var map = JSON.parse(data);
$.each(map, function (key, value) {
$('#users').append('<li data-user="' + key + '"><a>' + value.name + '</a></li>');
});

这就是 HashMap JSON 来到 jsp 的方式:

enter image description here

如您所见, map 是按名称排序的。

但这就是HashMap的列出方式:

enter image description here

map 按从小到大的顺序排列!

我希望 map 像 jsp 一样列出..

最佳答案

当客户端接收到 map 的字符串表示形式时,它就变成了一个普通的旧 JavaScript 对象,键是它的字段。它们的自然排序顺序是“1”、“2”、“3”、“4”、“5”、“6”。这就是它按该顺序显示的原因。按照您想要的方式显示它的一种方法是将其转换为对象数组( map 值),并使用 javascript 按名称排序:

function getCustomerMap() {
$.ajax({
url: serverUrl + "/getMap",
success: function (data) {
var map = JSON.parse(data);
var arr = new Array();
for (var key in map)
arr.push(map[key]); // add the map values to the array

// sort the array by name
arr.sort(function(a, b){
if (a.name < b.name)
return -1;
if (a.name > b.name)
return 1;
return 0;
});

// iterate by array index and append the list items.
// now you use the id field of the objects as your data-user values.
for (var i in arr)
$('#users').append('<li data-user="' + arr[i].id + '"><a>' + arr[i].name + '</a></li>');
}
});
}

关于java - 如何使用 Jquery 按值而不是按键打印 HashMap,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31228952/

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