Javascript如何重命名保持值和位置的对象键

汇编器

我有这个对象:

let obj = {one: 1, two: 2, three: 3, eight: 4, five: 5}

我需要的是重命名eightfour保持相同的值和相同的位置。我这样做了:

let obj = {one: 1, two: 2, three: 3, eight: 4, five: 5}
let tmp = obj[eight];
delete obj.eight;
obj.four = tmp;

但显然它会返回:{one: 1, two: 2, three: 3, five: 5, four: 4}而不是{one: 1, two: 2, three: 3, four: 4, five: 5}.

我想将属性保存在一个键值数组上,然后重建整个对象,但这种方式效率不高,因为我不知道该对象可以存储多少个属性。对此有任何提示吗?

卡住

自 ECMAScript 2015 起,在 JS 中,迭代顺序与插入顺序相同(对于字符串和符号键)。所以你需要重新创建完整的对象:

let obj = {one: 1, two: 2, three: 3, eight: 4, five: 5};

obj = Object.keys(obj)
  .reduce((a, key) => ({
    ...a,
    [key === 'eight' ? 'four' : key]: obj[key],
  }), {});

console.log(obj); // prints {one: 1, two: 2, three: 3, four: 4, five: 5}

如果这对于您正在解决的问题来说不够有效,我想您以不同的方式存储数据。

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

通过值获取 JavaScript 对象中的键并重命名

如何使用变量重命名对象的键?

如何重命名对象的快捷键?

PHP重命名对象属性,同时保持其位置

如何重命名对象键并将对象值从字符串更改为数字

Javascript:通过相同的键/值合并/重命名数组中的相似对象

使用转换对象重命名JavaScript中的对象键

重命名对象的多个键

重命名嵌套的对象键

如何使用字典键和值重命名Pandas DataFrame中的列?

使用javascript重命名数组中的对象键

API返回json aray对象,其中包含点,空格和%的键。如何重命名或从数组中删除键?

如何重命名数组中的对象键

如何重命名数组中对象的键

如何在 Python 中重命名嵌套 JSON 对象的键

JavaScript:如何重命名对象中的所有键(在第一级处理所有键)?

如何重命名 Map 對像中的鍵,同時保持該值與其他鍵和值相同?

如何使用Typescript选择和重命名某些键?

如何重命名界面键?

重命名返回对象的对象键

JS重命名对象键,同时保留其在对象中的位置

如何在javascript中重命名多维数组键?

如何从键和值中获取javascript对象的路径

如何使用键和值从对象构造查询-Javascript

如何在javascript中获取对象的键和值?

如何从Javascript(Postman)中的JSON对象获取键和值

角度数据对象键重命名

重命名打字稿对象类型的键

转换/重命名对象中的键?