2017-10-26 6 views
1

javacript objectのデータを左に転送してarrayにする必要があります。新しいarrayuserDataArrayという名前で初期化し、objectに追加された番号キーを使用してobjectから呼び出して、objectのすべてのデータをarrayに追加します。Javascriptオブジェクトから配列にデータを転送します。私の配列に何が問題なの?

完了したら、既に書き込まれたobjectの同じデータをarrayに入れて、それぞれの変数を別々に再入力する必要はありません。 ...

var userData = { 
    1: true, 
    2: true, 
    3: "00QRA10", 
    4: "slimer42", 
    5: "FFASN9111871-USN16" 
}; 

var userDataArray = [0,1,2,3,4]; 
+5

それは宿題のように見える、あなたは何を試してみましたか? –

+0

これは宿題の課題です。 2番目の変数は私の答えです。 var userDataArray = [0,1,2,3,4]; – batman091716

+0

javascriptオブジェクトから**左へ**配列に - 私は正確に何を左に移すのですか?あなたは[documentation](https://developer.mozilla.org)を読んでいましたか?オブジェクトのメソッドについては –

答えて

0

これはあなたが望むものであるかどうかわからないが、

var userData = { 
 
    1: true, 
 
    2: true, 
 
    3: "00QRA10", 
 
    4: "slimer42", 
 
    5: "FFASN9111871-USN16" 
 
}; 
 

 
var outputArray = []; 
 
for (var i = 0; i < Object.keys(userData).length; i++) { 
 
    outputArray.push(userData[Object.keys(userData)[i]]); 
 
} 
 
console.log(outputArray);

はそれを離れて取る: Object.keys(userData)は、キー名のリスト(配列)です。この場合、1,2,3,4、および5です。 outputArray.push()は配列に要素を追加します。 Object.keys(userData)[i]は私たちが使用しているオブジェクト要素の名前です。 userData[Object.keys(userData)[i]]は現在の要素です。したがって、forループを実行するたびに、配列に別の要素を追加します。

あなたの例ではしかし1、2、3、4、およびその要素名のために5を使用するため、このようなものが良い仕事があります。この例では

var userData = { 
 
    1: true, 
 
    2: true, 
 
    3: "00QRA10", 
 
    4: "slimer42", 
 
    5: "FFASN9111871-USN16" 
 
}; 
 

 
var outputArray = []; 
 
for (var i = 0; i < Object.keys(userData).length; i++) { 
 
    outputArray.push(userData[i+1]); 
 
} 
 
console.log(outputArray);

、代わりに要素名をキー配列から取り出し、番号が1で始まり、番号が1から始まると仮定します。

解決策が機能しなかった理由

は、オブジェクトから番号を呼び出していないためです。 userData.1,userData.2,userData.3など

2

Object.valuesのような新しい関数を使用してオブジェクトから値を取得し、Object.keysを使用してオブジェクトからキーを取得することができます。

var userData = { 
    1: true, 
    2: true, 
    3: "00QRA10", 
    4: "slimer42", 
    5: "FFASN9111871-USN16" 
}; 

var userDataArray = Object.values(userData) 
0

オブジェクトをループしてキーを使用して値を取得できます。

var userData = { 
 
    1: true, 
 
    2: true, 
 
    3: "00QRA10", 
 
    4: "slimer42", 
 
    5: "FFASN9111871-USN16" 
 
}; 
 

 
var userDataArray = []; 
 

 
for (var key in userData) { 
 
    userDataArray.push(userData[key]) 
 
} 
 

 
console.log(userDataArray)

関連する問題