简体   繁体   English

如何在javascript中为对象键添加前缀?

[英]How to add prefix to object keys in javascript?

Lets say I have object:可以说我有对象:

{
  cart: 4,
  trolley: 10,
  car: 2,
}

How can I turn it into:我怎样才能把它变成:

{
  shopping_cart: 4,
  shopping_trolley: 10,
  shopping_car: 2,
}

What have you tried so far?你试过什么了?

 var obj = { cart: 4, trolley: 10, car: 2 } for (var key in obj) { obj["shopping_" + key] = obj[key] delete obj[key] } console.log(obj)

const createPrefixObjectKeys => prefix => source => { const prefixedSourceTuples = Object.entries(source).map( ([key, value]) => [ `${prefix}${key}`, value ] ); return Object.fromEntries(prefixedSourceTuples); } // use const prefixObjectShopping = createPrefixObjectKeys('shopping_'); // where x is your object const prefixed = prefixObjectShopping(x);

You can get the keys of the object in an array using the Object.keys() method.您可以使用Object.keys()方法获取数组中对象的键。 You can then use the Array.reduce() method to iterate over each of the keys and create a new object with desired prefix.然后,您可以使用Array.reduce()方法遍历每个键并创建一个具有所需前缀的新对象。

 let obj = { cart: 4, trolley: 10, car: 2, }; let pre = `shopping_`; let nObj = Object.keys(obj).reduce((a, c) => (a[`${pre}${c}`] = obj[c], a), {}); console.log(nObj)

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

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM