为了账号安全,请及时绑定邮箱和手机立即绑定

$.getJSON 是否重新排序数据?

$.getJSON 是否重新排序数据?

森栏 2023-03-03 10:34:46
记者:$.getJSON('services/get_locations.php', {region: $("#oblast").val()}, function(data) {    console.log(data);});PHP:$result = json_encode($raw['data']);echo $result;exit;结果来自var_dump($result):{    "10971":"\u0433\u0440. \u0412\u0418\u0414\u0418\u041d",    "179":"\u0441. \u0410\u041a\u0410\u0426\u0418\u0415\u0412\u041e",    "919":"\u0441. \u0410\u041d\u0422\u0418\u041c\u041e\u0412\u041e"}如您所见,第一个 ID 是 10971。然而,结果console.log(data)是:{179: "с. АКАЦИЕВО", 919: "с. АНТИМОВО", 10971: "гр. ВИДИН"}为什么要重新排序数据?
查看完整描述

1 回答

?
PIPIONE

TA贡献1829条经验 获得超9个赞

带有数字键的 Javascript 对象将始终按数字键值的升序排列


如果顺序很重要,则将结构更改为数组之类的东西[{id:179, value: "...."}]或[[10971,"wrd"],[179,"xyz"]]


没有ajax的例子。请注意日志顺序与构造顺序不同(升序键值)


const data = {

    "10971":"\u0433\u0440. \u0412\u0418\u0414\u0418\u041d",

    "179":"\u0441. \u0410\u041a\u0410\u0426\u0418\u0415\u0412\u041e",

    "919":"\u0441. \u0410\u041d\u0422\u0418\u041c\u041e\u0412\u041e"

}


console.log(data);

console.log('Keys:', Object.keys(data))


查看完整回答
反对 回复 2023-03-03
  • 1 回答
  • 0 关注
  • 63 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信