2017-02-13 9 views
-2

私はJSを初めて使用しています。Javaオブジェクトの配列にマップオブジェクトを変換する

私はマップオブジェクトを持っています。

地図{$セントラル:265045、$東:178576、$南:103926、$ウエスト:272264}

私はオブジェクトの配列に変換したい

{地域: "中央"、値:265045}、{地域: "東"、値:178576}、 {地域: "南"、値:103926}、{地域: "西"、値:272264}

答えて

1

for ... inを使用して、オブジェクト(マップ)のキーを反復処理できます。また、あなたのobejctがドル記号で始まるプロパティを持っていて、あなたの望みの結果にそれらが取り除かれているように見えます。あなたはsubstringを使ってそれを行うことができます。

var a = []; 
for (var k in map) { 
    a.push({region:k.substring(1), value:map[k]}); 
} 
0

あなたはMapオブジェクトを反復処理するループにfor..in Map

var res = []; 
map.forEach(function(val, key) { 
    res.push({ region: key, value: val }); 
}); 
0

使用上forEachコールバックを使用することができますし、配列内のアイテムを押してください。 for..inループ内で、プロパティregionとvalueを持つオブジェクトを作成し、このオブジェクトを配列にプッシュします。

<!DOCTYPE html> 
 
<html> 
 
<head> 
 
    <title>For in example</title> 
 
    <script type="text/javascript"> 
 
var map = { 
 
    "$Central": 265045, 
 
    "$East" : 178576, 
 
    "$South" : 103926, 
 
    "$West" : 272264 
 
}; 
 
var arr = []; 
 
for (var prop in map) { 
 
var item = {region : prop.substring(1), value:map[prop]}; 
 
arr.push(item); 
 
} 
 
console.log('Map Object --> ',map); 
 
console.log('Array of objects --> ',arr); 
 
    </script> 
 
</head> 
 
<body> 
 

 
</body> 
 
</html>

関連する問題