【问题标题】:Shift arrays inside object based on key string根据键字符串在对象内移动数组
【发布时间】:2021-09-28 11:25:29
【问题描述】:

假设我有console.log(category_value);,它输出以下内容:

如何确保带有“Other”键的数组始终位于末尾?我已经尝试了一切,我正在用尽我所有的选择。

它显示它是“伟大的关系”、“经理基础”、“其他”,但它总是输出为“经理基础”、“其他”、“伟大的关系”。

我希望“其他”键始终位于对象循环的末尾。

【问题讨论】:

  • 你能把你的代码贴在这里吗?
  • @Unmitigated,有没有一种方法可以定义顺序,当我做<h3> 时的输出与Other 在中间,所以我想看看我是否可以切换对象中的数组。

标签: javascript jquery arrays object


【解决方案1】:

由于所有属性都是非数字的,所以迭代顺序就是插入顺序。我们可以使用Object.fromEntries 以不同的顺序创建一个新对象。

let o = {"Great Relationships": 1, "Other": 2, "Manager Fundamentals": 3}
let res = Object.fromEntries(Object.keys(o)
  .filter(x => x !== 'Other').concat('Other')
  .map(x => [x, o[x]]));
console.log(res);
// Iteration order
for(const k in res) console.log(k);

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2020-08-15
    • 2021-10-24
    • 2021-07-20
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2022-12-19
    • 1970-01-01
    相关资源
    最近更新 更多