ホームページ  >  に質問  >  本文

javascript - jsでオブジェクトを並べ替える方法はありますか?

json オブジェクトがバックグラウンドで返され、順序はすでに整理されています

しかし、このオブジェクトを配列をトラバースするように js to for in でトラバースすると、結果が元のオブジェクトと異なり、情報を確認したところ、js オブジェクトが順序付けされていないことがわかりました。 。では、このオブジェクトを順番に走査する方法はあるのでしょうか?または、元のオブジェクトのプロパティを順番に取得するにはどうすればよいでしょうか?

仅有的幸福仅有的幸福2693日前1030

全員に返信(10)返信します

  • 为情所困

    为情所困2017-06-29 10:11:03

    リーリー

    返事
    0
  • phpcn_u1582

    phpcn_u15822017-06-29 10:11:03

    リーリー

    返事
    0
  • 巴扎黑

    巴扎黑2017-06-29 10:11:03

    解決策はありません。並べ替える場合は、配列を使用する必要があります。またはキーの配列を使用します。

    ES5 ではオブジェクト内の順序が指定されていないため、エンジンが異なると異なる場合があります。

    ES6では、Object.getOwnPropertyNames()Object.getOwnPropertySymbols() 以及等效于两者结合的 Reflect.ownKeys()は一定の順序で出力されますが、それはあなたが望む答えではありません。

    jsonの構造が数字と辞書の順に並んでいるような場合は、手動で並べ替えることができます。

    返事
    0
  • phpcn_u1582

    phpcn_u15822017-06-29 10:11:03

    1. ページの表示がバックエンドから返された並べ替え順序どおりであれば、並べ替える必要はなく、直接表示するだけでよいと思います。
    2. 希望する注文がバックエンドの注文と異なる場合、商品がどのフィールドで並べ替えられて表示されるかによって異なります。次に、オブジェクト内のこのフィールドに基づいて並べ替えます。
    欲しいものは必ず手に入るはずです。

    返事
    0
  • 世界只因有你

    世界只因有你2017-06-29 10:11:03

    リーリー

    返事
    0
  • 过去多啦不再A梦

    过去多啦不再A梦2017-06-29 10:11:03

    json オブジェクトには順序がないため、「事前に配置された順序」は実際には存在しません。
    フロントエンドがキー名に基づいて並べ替えたい場合は、まずキー名を取り出し、並べ替えてからコンテンツを取得します。

    返事
    0
  • 仅有的幸福

    仅有的幸福2017-06-29 10:11:03

    バックグラウンドはソートされたデータを返すため、ajax を使用してデータ (dataType: json) をリクエストする場合は、データを受け取った後、それを直接トラバースしてテンプレートに入力するだけです。順番が間違っていたらバックグラウンドで取得したデータが間違っているような気がします

    返事
    0
  • 代言

    代言2017-06-29 10:11:03

    リーリー リーリー

    返事
    0
  • 过去多啦不再A梦

    过去多啦不再A梦2017-06-29 10:11:03

    連続した値が必要な場合は、それらを配列に保存してから、json 属性に入れます。

    返事
    0
  • 高洛峰

    高洛峰2017-06-29 10:11:03

    リーリー

    このようにして、固定された順序で配列が返されます。

    返事
    0
  • キャンセル返事