【问题标题】:Reverse an order of js object keys using javascript使用javascript反转js对象键的顺序
【发布时间】:2022-11-18 03:06:51
【问题描述】:
let obj = { 
 one : 1, 
 two : 2, 
 three : 3
}

我想要这样的输出:

let obj ={ 
 three: 3, 
 two : 2, 
 one : 1 
}

让 keys = Object.keys(obj);

obj = {...keys.reverse()}

但它有错误

【问题讨论】:

  • 对象不能保证顺序 - 只有数组。
  • 我们还能逆转吗?顺序在这里并不重要
  • 无法保证 js 对象中键的任何呈现顺序,尤其是在将 JSON 转换为 JS 对象时会占用系统资源
  • 如果顺序不重要,那么问题的重点是什么?

标签: javascript


【解决方案1】:

使用Object.entries生成[key,value]对的数组,然后使用Object.fromEntries()逆向后转换回对象。

let obj = { 
 one : 1, 
 two : 2, 
 three : 3
}

let output = Object.fromEntries(Object.entries(obj).reverse())

console.log(output)

【讨论】:

    【解决方案2】:

    const obj = {
      one : 1, 
     two : 2, 
     three : 3
    };
    
    // ?️ ['3', '2', '1']
    const reversedKeys = Object.keys(obj).reverse();
    
    reversedKeys.forEach(key => {
      console.log(key, obj[key]); 
    });
    const obj = {
      one : 1, 
     two : 2, 
     three : 3
    };
    
    // ?️ ['3', '2', '1']
    const reversedKeys = Object.keys(obj).reverse();
    
    reversedKeys.forEach(key => {
      console.log(key, obj[key]); 
    });
    

    【讨论】:

      猜你喜欢
      • 2016-02-13
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2018-07-07
      相关资源
      最近更新 更多