鍍金池/ 問答/HTML/ JSON.stringify把排好序的對(duì)象弄亂了?

JSON.stringify把排好序的對(duì)象弄亂了?

圖片描述

加密要求是要對(duì)象的key進(jìn)行升序排序,排序是已經(jīng)實(shí)現(xiàn)的,
但是使用JSON.stringify后又把順序弄亂了,求大神解疑

回答
編輯回答
司令

對(duì)象的 key 本身就不具有「有序」這種屬性。不同的標(biāo)準(zhǔn)和瀏覽器下 Object.keys 和 for in 的結(jié)果都不一定相同。需要順序的場(chǎng)景下要么使用數(shù)組,要么通過一個(gè)字段顯示的標(biāo)名順序。

{
  s: {
    order: ['a', 'b', 'c', 'd'],
    value: {
      a: {},
      b: {},
      c: {},
      d: {}
    }
  }
}

或者基于「約定大于配置」原則,同后端約定好通過具體 item 上的字段例如 id 或者 index 進(jìn)行顯示的指定順序。

2018年6月5日 10:48
編輯回答
伴謊

很簡(jiǎn)單啊,給個(gè)index或者id之類的,進(jìn)去后在解開串排序。

2017年5月6日 16:19