【发布时间】:2015-04-30 13:26:04
【问题描述】:
我正在尝试从隐藏的输入字段中获取值并将它们粘贴到我可以通过 AJAX 发布到 url 的对象中。我能够获取这些值,但不是按照我需要它们的顺序。我正在获取这样的值:
var music = {};
var album_name = $(".album_name").each(function() {
music[$(this).attr("value")] = $(this).val();
// console.log($(this).val());
});
$(".song_title").each(function() {
music[$(this).attr("value")] = $(this).val();
// console.log($(this).val());
});
$(".album_image").each(function() {
music[$(this).attr("value")] = $(this).val();
console.log($(this).val());
});
结果是这样的:
{"Album 1":"Album 1","Album 2":"Album 2","Album 3":"Album 3","Album 4":"Album 4","Song 1":"Song 1","Song 2":"Song 2","Song 3":"Song 3","Song 4":"Song 4","thumbnail.png":"thumbnail.png"}
有没有办法让对象按这种顺序出来:
{"Album":"Album 1","Song":"Song 1","Image":"thumbnail.png","Album":"Album 2","Song":"Song 2","Image":"thumbnail.png","Album":"Album 3","Song":"Song 3","Image":"thumbnail.png","Album":"Album 4","Song":"Song 4","Image":"thumbnail.png",}
提前感谢您的帮助。
【问题讨论】:
-
JS 对象本质上是无序的。
-
如果您想要一个订单,您将需要使用一个 Array,无论是多个 Objects 在一个 Array 中还是一个 Array 和一个 Object 彼此有某种关系
-
您可以将每个专辑/歌曲集存储为一个数组,然后将每个数组存储在您的对象中。然后您可以对数组进行排序,这将按照您的意愿进行排序。
-
@user2573699,只需像 Tim 在下面所做的那样构建您的数据 - 对象数组。
标签: javascript jquery ajax object