在线观看不卡亚洲电影_亚洲妓女99综合网_91青青青亚洲娱乐在线观看_日韩无码高清综合久久

鍍金池/ 問(wèn)答/HTML/ 讓數(shù)組對(duì)象按照指定的順序輸出

讓數(shù)組對(duì)象按照指定的順序輸出

實(shí)現(xiàn)一個(gè)方法fun(tt,arr),讓數(shù)組對(duì)象arr,按照指定的順序tt輸出;

   let tt={
        city:"城市",
        age:"年齡",
        name:"名字"
    }


    let arr=[
        {
            name: "xiaoming",
            age: 15,
            city:"sz"
        },
        {
            name: "xiaoming",
            age: 16,
            city:"sz"
        }
    ]

最后要得到的結(jié)果:

   let arr2=[
        {
            city:"sz",
             age: 15,
            name: "xiaoming",
           
        },
         {
            city:"sz",
             age: 16,
            name: "xiaoming",
           
        }
    ]

回答
編輯回答
墻頭草

2018年9月11日11:35:10 這真的是最后一版改回答的。
大體上還是最初的回答。只不過(guò)是找了一些資料。
對(duì)象是無(wú)序的,各個(gè)瀏覽器的順序不一樣。想用有序的換數(shù)組

SF搜索關(guān)于 遍歷對(duì)象順序
Javascript 對(duì)象那些事(持續(xù)更新)
SJ9011: Chrome Opera 中 for-in 語(yǔ)句遍歷出對(duì)象屬性的順序與定義的不同


測(cè)試用例出了問(wèn)題了【人工尷尬臉】。改成亂序出來(lái)還是有序的。。。字母的好像沒(méi)變,我再去查查資料

clipboard.png


2018年9月11日11:09:36

嗯,看到了評(píng)論。想起了一個(gè)東西。瀏覽器到底是什么序列。。。容我去測(cè)試一番。
chrome是插入順序,所以可以根據(jù)tt構(gòu)造一個(gè)有序隊(duì)列,然后根據(jù)這個(gè)有序隊(duì)列。重新渲染對(duì)象。
FF是插入順序

obj={0:0,1:1,2:2}
obj[3] = 3
obj[4] = 4
obj[5] = 5
obj[13] = 13
obj[14] = 14
obj[15] = 15
obj[113] = 113
obj[114] = 114
obj[115] = 115
obj[143] = 113
obj[144] = 114
obj[145] = 115
obj['a'] = 1
obj['b'] = 1
obj['c'] = 1
obj['a3'] = 1
obj['b3'] = 1
obj['c3'] = 1
obj['a1'] = 1
obj['b1'] = 1
obj['c1'] = 1

Object.keys(obj)
for(var i in obj) console.log(i)
JSON.stringify(obj)
JSON.parse(JSON.stringify(obj))

原答案
話說(shuō)對(duì)象這個(gè)本來(lái)就是一個(gè)固定的排序吧。你可以理解為無(wú)序列表。

有序的話用數(shù)組。

clipboard.png

2017年9月14日 06:48
編輯回答
你好胸

object本來(lái)就是無(wú)序的啊,直接用key取值不就行了嗎

2017年3月3日 19:43
編輯回答
孤毒

不存在的。
不同瀏覽器對(duì)對(duì)象屬性的排序不一樣,一般的都是按照ASC碼的順序,早期瀏覽器也可能是按照屬性插入的順序。

2018年7月24日 20:19
編輯回答
凹凸曼

你的tt是普通對(duì)象,javascript中對(duì)象理論上沒(méi)有穩(wěn)定的順序。

2018年4月5日 20:03
編輯回答
貓小柒

這個(gè)沒(méi)什么意義吧。對(duì)象的鍵是不存在序列關(guān)系的

2017年10月23日 23:28
編輯回答
骨殘心
(function(sort) {
  let arr = [
    {
      job: '程序猿',
      name: 'xiaoming',
      age: 15,
      sex: 1,
      city: 'sz',
    },
    {
      job: '產(chǎn)品經(jīng)理',
      name: 'xiaoming',
      age: 16,
      sex: 0,
      city: 'sz',
    },
  ];
  let newArr = arr.map(item => {
    let newItem = {};
    for (let key in sort) {
      newItem[key] = item[key];
    }
    Object.assign(newItem, item);
    return newItem;
  });
  console.info(newArr);
})({
  city: '城市',
  name: '名字',
  age: '年齡',
});
2017年8月25日 20:10