2016-04-14 17 views
-3

dönmek istiyorum Bu benim çıkış istiyorum benim diziBen dizi

{ Colors: 'Blues', 
    Department: 'Clearance', 
    Size: [ 'Runners', 'Custom Sizes' ], 
    Shape: 'Round', 
    Designer: 'B. Smit', 
} 

geçerli:

{ Colors: 'Blues', 
    Department: 'Clearance', 
    Size: 'Runners', 
    Shape: 'Round', 
    Designer: 'B. Smit', 
} 
{ Colors: 'Blues', 
    Department: 'Clearance', 
    Size: 'Custom Sizes', 
    Shape: 'Round', 
    Designer: 'B. Smit', 
} 
Bu çalıştı

ama almıyor sonuç

+2

Denediniz * ne *? –

+1

Bu bir dizi değil. Ne denedin? – Xufox

cevap

0

@sunnyn kullanarak aşağıda çözümü deneyin. emin size yardımcı olacaktır.

var obj = { Colors: 'Blues', 
       Department: 'Clearance', 
       Size: [ 'Runners', 'Custom Sizes' ], 
       Shape: 'Round', 
       Designer: 'B. Smit', 
    }; 

var tmpArr = []; 

for(var index in obj.Size) { 
    var myCustObj = {}; 
    for (var k in obj){ 
      if (obj.hasOwnProperty(k)) { 
      myCustObj[k] = obj[k]; 
      } 
    } 
    myCustObj.Size = obj.Size[index]; 
    tmpArr.push(myCustObj); 
} 

console.log(tmpArr); 
+0

Çözümünüz için teşekkürler, istediğim gibi çalıştı – sunnyn

1

Belki bu

şöyle yapabilirsiniz
function convert(inp){ 
    var result = []; 
    for(var i = 0; i< inp.Size.length; i++){ 
    result.push({ 
     Colors: inp.Colors, 
     Department: inp.Department, 
     Size: inp.Size[i], 
     Shape: inp.Shape, 
     Designer: inp.Designer 
    }); 
    } 
    return result; 
} 


convert({ 
    Colors: 'Blues', 
    Department: 'Clearance', 
    Size: [ 'Runners', 'Custom Sizes' ], 
    Shape: 'Round', 
    Designer: 'B. Smit', 
}); 
1

ES6 veya modern tarayıcıda ...

const input = { 
 
    Colors: 'Blues', 
 
    Department: 'Clearance', 
 
    Size: [ 'Runners', 'Custom Sizes' ], 
 
    Shape: 'Round', 
 
    Designer: 'B. Smit' 
 
}; 
 

 
const output = input.Size.map(size => (
 
    Object.assign(
 
     {}, 
 
     input, 
 
     { 
 
      Size: size 
 
     } 
 
    ) 
 
)); 
 

 
alert(JSON.stringify(output, null, '\t'));

+0

Bunu denedim: if (variants.Size.length> 0) { var myArray = []; sizeArray = variants.Size; uzunluk = sizeArray.length; Için (var i = 0; i sunnyn