我正在嘗試將來自“seller”的值連接到一個新變數“sellerList”中,但我沒有找到一個好的解決方案。
const data = {
page: {},
product: {
attributes: {
condition: 'used',
offer: {
offer1: {
condition: 'used',
offerID: '1111',
seller: 'Ben',
sellerID: 'abc',
},
offer2: {
condition: 'used',
offerID: '2222',
seller: 'manu',
sellerID: 'def',
},
offer3: {
condition: 'used',
offerID: '3333',
seller: 'Ben',
sellerID: 'abc',
},
},
},
},
};
我發現這篇文章有類似的問題,但它對我不起作用
由于我們不能在物件上使用 map 方法,因此我將物件推送到這樣的陣列中:
dataArr = [];
dataArr.push(data);
然后我使用以下代碼進行連接:
const sellersList = Object.keys(digitalData)
.map((o) => o.seller)
.join(';');
console.log('Offer list :' sellersList);
但這會回傳一個空字串:“Offer list :;”
所以我的目標是有一個像這樣的最終字串:“ben;manu;ben”
有沒有人知道如何安排適合我的情況的代碼?感謝您的幫助和您的時間。
uj5u.com熱心網友回復:
你可以這樣做。它確實依賴于您的資料具有這些精確的鍵名的特定形狀 - 但目前尚不清楚您還能做什么,因為我不知道您的資料來自何處以及它可能是什么樣子的詳細資訊。無論如何,希望這有助于給你一個開始!
const data = {
page: {},
product: {
attributes: {
condition: "used",
offer: {
offer1: {
condition: "used",
offerID: "1111",
seller: "Ben",
sellerID: "abc",
},
offer2: {
condition: "used",
offerID: "2222",
seller: "manu",
sellerID: "def",
},
offer3: {
condition: "used",
offerID: "3333",
seller: "Ben",
sellerID: "abc",
},
},
},
},
};
const result = Object.values(data.product.attributes.offer).map(offer => offer.seller).join(";");
console.log(result);
uj5u.com熱心網友回復:
根據您共享的資料形狀,您可以這樣做:
Object.values(data.product.attributes.offer)
.map(offer => offer.seller)
.join(';')
轉載請註明出處,本文鏈接:https://www.uj5u.com/net/318000.html
標籤:javascript 目的 级联
上一篇:JavaScript-是否可以通過參考復制原始物件屬性?
下一篇:動態更新物件陣列中的鍵
