简体   繁体   English

在 Javascript 对象中重命名所有属性名称的最快方法是什么?

[英]What's the quickest way to rename all property names in a Javascript object?

Say, I have an object that looks like this:说,我有一个看起来像这样的对象:

const a = {
  prop1: "val1",
  prop2: "val2",
  prop3: "val3",
  prop4: "val4",
}

And I want something like this derived from a :我想要这样的东西来自a

const b = {
   something_prop1: "val1",
   something_prop2: "val2",
   something_prop3: "val3",
   something_prop4: "val4",
}

Is there any way to achieve this without having to create an intervening array of keys or running a for or foreach loop?有没有什么方法可以实现这一点,而不必创建中间的键数组或运行forforeach循环?

You could map new objects and build a single object with Object.assign and spread syntax ... .您可以映射新对象并​​使用Object.assignspread 语法构建单个对象...

 const a = { prop1: "val1", prop2: "val2", prop3: "val3", prop4: "val4" }, b = Object.assign(...Object.entries(a).map(([k, v]) => ({ ['something_' + k]: v }))); console.log(b);

You can do:你可以做:

 const a = { prop1: "val1", prop2: "val2", prop3: "val3", prop4: "val4", }; const b = {}; Object.keys(a).forEach(k => b[`something_${k}`] = a[k]); console.log(b);

Here is an example with reduce if your point is not to use for or forEach .如果您的观点是不使用forforEach则这是一个使用reduce的示例。

 const a = { prop1: "val1", prop2: "val2", prop3: "val3", prop4: "val4", } const transformKeys = obj => Object.keys(obj).reduce((acc, key) => (acc[`something_${key}`] = obj[key], acc), {}); const b = transformKeys(a); console.log(b);

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

相关问题 使用 JavaScript 从对象中递归删除属性和值的最快方法是什么? - Using JavaScript what's the quickest way to recursively remove properties and values from an object? 删除WinJS ListView中所有项目的最快方法是什么? - What's the quickest way to remove all items in a WinJS ListView? 更改javascript对象数组中的对象属性的最佳方法是什么? - what's the best way to change an object property in a javascript object array? 测试JavaScript对象上是否存在属性的正确方法是什么? - What's the correct way to test for existence of a property on a JavaScript Object? 更新数组中对象值的最快方法 - Quickest way to update an object's value in an Array 在实际网页上执行JavaScript文件的最快捷,最简单的方法是什么? - What’s the quickest, easiest way to execute a JavaScript file on a live web page? 用javascript在列表中查找对象的首次出现索引的最快/最有效方法是什么? - What is the quickest/most efficient way to find the first occurrence index of an object in an list with javascript? 根据 javascript 中的属性名称数组,创建具有属性子集的 object 的最有效方法是什么? - What is the most efficient way of creating an object with a subset of properties, based on an array of property names in javascript? 如何在javascript中重命名对象属性? - How to rename object property in javascript? 查找对象是否具有特定属性和真理的最快方法? - The quickest way to find if object has a certain property and truth?
 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM