如何替换数组中所有出现的 object 键? (JavaScript)

How to replace all occurrences of an object key in an array? (JavaScript)

所以我有一个数组,包含 object 个这样的数组:

var items_array = {
 value: 5555,
 shipping: 444,
 transaction_id: 12345678,
  items: [
  {
  id: "1234",
  title: "testitem1",
  unitPrice: 12,
  quantity: 1
  },
  {
  id: "4321",
  title: "testitem2",
  unitPrice: 21,
  quantity: 2
 }]};

现在我想在每个 object 中将“id”替换为“item_id”,将“unitPrice”替换为“price”,并将标题替换为“item_name”大批。遗憾的是,我无法将数组转换为字符串,因此 .replace 方法在这里不起作用,据我所知,.map 方法只允许我替换属性,而不是键本身。此外,此数组中可以包含一个或多个项目,因此无论我有 1 项还是 50 项,解决方案都必须有效。此外,我不能使用“=>”,因为这是下面的旧 javascript 环境1.7 不支持像这样的“现代”解决方案。

你们知道怎么做吗?遗憾的是,我对 Javascript 还很陌生,结果证明我的 Google 技能在这件事上是不够的。如果您需要进一步的解释,请尽管提问,我会尽我所能回答。

你可以去Array.map看看。这里我以items为例。

旧浏览器

var items = [{
  id: "1234",
  title: "testitem1",
  unitPrice: 12,
  quantity: 1
}, {
  id: "4321",
  title: "testitem2",
  unitPrice: 21,
  quantity: 2
}];

var newItems = items.map(function (item) {
  item.item_id = item.id;
  delete item.id;
  item.price = item.unitPrice;
  delete item.unitPrice;
  item.item_name = item.title;
  delete item.title;
  return item;
});

console.log(newItems);

现代方式

let items = [
   {
    id: "1234",
    title: "testitem1",
    unitPrice: 12,
    quantity: 1
   },
   {
    id: "4321",
    title: "testitem2",
    unitPrice: 21,
    quantity: 2
   }
]

const newItems = items.map((item) => {
  item.item_id = item.id
  delete item.id

  item.price = item.unitPrice
  delete item.unitPrice

  item.item_name = item.title
  delete item.title

  return item
})

console.log(newItems)