2017-07-14 20 views
-1

我的產品,如複製從子陣列的屬性成主對象

[ 
{name:'Test1', id:1, prices: [ 20,25,30 ] }, 
{name:'Test2', id:2, prices: [ 21,26,31 ] }, 
... 
] 

每個product陣列具有取決於該產品的sizesprices陣列。 我想自動創建中的每個對象一個新的屬性,從相應的陣列得到的第一個價格,並在product對象

寫得像

{name:'Test1', id:1, prices: [ 20,25,30 ], pr: 20 } 
+1

很酷。你試過什麼了?因爲這是一件非常容易的事情,我們很樂意幫助您製作您編寫的代碼,並且您認爲應該這樣做,但是不行,工作。但是,對於我們這樣做,首先需要*有*代碼。 –

回答

-1

使用地圖。假設你的數組被稱爲對象。如果價格不合適,請使用排序。或者如果你擔心表現,你可以循環找到最低價值。

objects = objects.map((obj) => { 
    obj.pr = obj.prices.sort()[0]; 
    return obj; 
}) 

鏈接撥弄:https://jsfiddle.net/tardycorgi9917/7d417wdL/

0

使用Array#map

const a = [ 
 
    {name:'Test1', id:1, prices: [ 20,25,30 ] }, 
 
    {name:'Test2', id:2, prices: [ 21,26,31 ] }, 
 
]; 
 

 
const newArr = a.map(item => { 
 
    item.pr = item.prices[0] 
 
    return item; 
 
}); 
 

 

 
console.log(newArr);

0

試試這個。希望能幫助到你!

var array = [ 
    {name:'Test1', id:1, prices: [ 20,25,30 ] }, 
    {name:'Test2', id:2, prices: [ 21,26,31 ] } 
]; 
for(var i = 0; i < array.length; i++) { 
    array[i].pr = array[i].prices[0]; 
} 
console.log(array);