所以我有一個陣列,包含這樣的物件:
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
}]};
現在我想在陣列中的每個物件中用“item_id”替換“id”,用“price”替換“unitPrice”,用“item_name”替換標題。可悲的是,我無法將陣列轉換為字串,因此 .replace 方法在這里不起作用,據我所知, .map 方法只允許我替換屬性,而不是鍵本身。此外,這個陣列里面可以有一個或多個專案,所以無論我有 1 個專案還是 50 個專案,解決方案都必須作業。另外,我不能使用“=>”,因為這是 1.7 以下的舊 javascript 環境,不支持對于這樣的“現代”解決方案。
你們知道如何做到這一點嗎?可悲的是,我對 Javascript 還很陌生,而我的 Google 技能在這件事上還不夠。如果您需要進一步的解釋,請盡管詢問,我會盡我所能回答。
uj5u.com熱心網友回復:
您可以查看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)
轉載請註明出處,本文鏈接:https://www.uj5u.com/qianduan/483576.html
標籤:javascript 数组 目的 钥匙
下一篇:深度復制物件值而不復制其參考
