2017-07-12 3 views
0

私はjavascriptオブジェクトにこのコピーjavascriptオブジェクトからのデータとそれらに割り当てる新しいキー

4706:"APN" 
    4743:"Owner Name" 
    4754:"Situs Address" 
    6231 :"Mailing Address" 

のようなデータを取得しています。これを新しいオブジェクトにコピーすると、同じ出力を与えながらこのようなキーに置き換えます。

0:"APN" 
    1:"Owner Name" 
    2:"Situs Address" 
    3 :"Mailing Address" 

これは可能ですか?私は

 tblHeader=features[i].attributes.fields.values; 
+0

これを試してみてください https://stackoverflow.com/questions/13391579/how-to-rename-json-key –

答えて

1

は、その値の配列を作成し、Object.values()方法を試してみてください.AND iteateのための配列をArray#forEach()を使用して、新しいオブジェクトを追加tblheaderにこのオブジェクトをコピーしています

var arr = { 
 
    4706: "APN", 
 
    4743: "Owner Name", 
 
    4754: "Situs Address", 
 
    6231: "Mailing Address", 
 
} 
 
var res ={}; 
 
Object.values(arr).forEach(function(a,b){ 
 
    res[b]=a 
 
}) 
 

 
console.log(res)

+0

同じシーケンスを維持しますか?それともいつもそれを変えるでしょうか?私は毎回違うデータを取得するので、同じシーケンスが必要です。 – ephemeral

+0

はい...それは同じシーケンスです。 '0,1'はオブジェクト – prasanth

+0

の最後のものからの値のインデックスです、オブジェクトの配列の配列で取得できますか? l – ephemeral

1

Try this

oldObject = 
{ 
4706:"APN", 
4743:"Owner Name", 
4754:"Situs Address", 
6231 :"Mailing Address" 
}; 

newObject = {} 
    Object.keys(oldObject).map(function(key, index) { 
    newObject[index] = oldObject[key]; 
    }); 
console.log(newObject) 
関連する問題