首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >在ES6中重命名对象属性的最佳方法

问在ES6中重命名对象属性的最佳方法
EN

Stack Overflow用户
提问于 2018-03-05 09:21:19
回答 4查看 11K关注 0票数 5

我还在学习js,我需要一个建议。我从后端获取json对象,但是键有下划线。将关键字重命名为什么是最佳实践,例如将folder_name重命名为文件夹名称?属性列表是已知的,并且已完成,因此我可以将新名称保存在常量中。在前端,我已经这样使用它了:

代码语言:javascript
复制
const showPropertiesList = properties => Object.keys(properties).map(property => (
  <PropertyKey key={property}}>
    `${property}: ${properties[property]}`
  </PropertyKey>
));

最好在此映射中使用重命名函数或在此之前创建单独的函数,以获得所有重命名的键和值?

json文件:

代码语言:javascript
复制
properties {
  folder_name: 'test',
  user_email: 'test@example.com',
  user_agreed: 1,
  site: 'example.com',
}
EN

回答 4

Stack Overflow用户

回答已采纳

发布于 2018-03-05 09:40:15

您可以创建某种mapping对象,然后使用以下Object.keys和reduce函数的组合:

​

代码语言:javascript
复制
const properties = {
  folder_name: "test",
  user_email: "test@example.com",
  user_agreed: 1,
  site: "example.com"
};

const mapping = {
  folder_name: "Folder name",
  user_email: "User email",
  user_agreed: "User agreed",
  site: "Site"
};

const mapped = Object.keys(properties).reduce((acc, key) => {
  acc[mapping[key]] = properties[key];
  return acc;
}, {});

console.log(mapped);

​

票数 11
EN

Stack Overflow用户

发布于 2020-06-30 22:07:56

试试这个:

代码语言:javascript
复制
const { folder_name: folderName, user_email: email, ...others } = originObject;
const renamedPropsObject = { folderName, email, ...others }
票数 6
EN

Stack Overflow用户

发布于 2018-03-05 09:49:02

我在旅行,所以我不能给自动取款机编程。但我认为这会把你引向正确的方向。

让newArray =数组()

代码语言:javascript
复制
OldArray.forEach(function(value, key) {
    // do stuff here to change the key value
    Let newKeyValue = //something 
    newArray[ newKeyValue] = value;
});

// do stuff with newArray

希望能有所帮助。而不是测试它!

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/49102256

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档