对象键值排序,对象类型排序

先上代码

const obj = {z: 'three', a: 'one', b: 'two'};

const sorted = Object.keys(obj)
  .sort()
  .reduce((accumulator, key) => {
    accumulator[key] = obj[key];

    return accumulator;
  }, {});

console.log(sorted); // 👉️ {a: 'one', b: 'two', z: 'three'}

原理

我们使用
Object.keys
方法获取对象键的数组。

下一步是使用
Array.sort()
方法对键数组进行排序。

此时,我们有一个包含对象键的排序数组。

我们要做的最后一件事是使用
Array.reduce
方法迭代排序的键数组并将每个键值对分配给一个对象。

我们传递给reduce()方法的函数被数组中的每个元素(键)调用。

我们提供了一个空对象作为accumulator
变量的初始值。

在每次迭代中,我们将键值对分配给accumulator对象并返回结果。

accumulator我们从第一次迭代返回的结果作为第二次迭代的传递,accumulator等等。

在最后一次迭代之后,该对象包含按排序顺序排列的所有键值对。

确保将一个空对象作为第二个参数传递给该reduce
方法。这是accumulator变量的初始值。

请注意,此方法不会更改原始对象中键的顺序。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值