※ ChatGPTを利用し、要約された質問です(原文:eval、$.eachで順番が入れ替わるのはなぜ?)
evalと$.eachの使用でデータの順番が入れ替わる原因と解決方法について
このQ&Aのポイント
JSONデータをeval後、$.each(jQuery)を通すと順番が入れ変わってしまう問題について説明します。
Chromeで見た際にデータがid順に並び変わるが、FireFoxでは元の順番通りになることに触れます。
入れ替わらないための解決方法についてもご紹介します。
eval、$.eachで順番が入れ替わるのはなぜ?
JSONデータをeval後、$.each(jQuery)を通すと、
順番が入れ変わってしまうのですが、どういう原因が想定されるでしょうか?
<JSON>
data:
{
"5":{"id":"5","name":"5","menu1":"24"},
"9":{"id":"9","name":"9","menu1":"12"}
"1":{"id":"1","name":"1","menu1":"4"},
"2":{"id":"2","name":"2","menu1":"2"},
}
※「menu1」降順で予めソート
<コード>
$.get("data.php?"+○○, function(data){
var list = eval( '(' + data + ')' );
$.each(list,function(i) {
上記コードを通すと、
Chromeで見た際、データがid順に並び変わります。
(FireFoxだと、元の順番通りです)
<質問>
「eval」もしくは「$.each」を利用すると、
データの順番が入れ替わることがあるのでしょうか?
入れ替わらないためには、どうすれば良いのでしょうか?
お礼
回答ありがとうございました。 試してみたら、うまくいきましたー