2017-05-20 4 views
0

これは割り当て用です。投票しないでください。誰もがどこかに出発しなければならず、それぞれの人が異なった方法で学習します。2D配列を受け入れ、すべてのキーを示すオブジェクトを返す関数を作成します。値

機能は、この特定のフォーマットで2Dアレイ(ペアの配列)を受け入れる必要があります。

配列は、任意の長さであるが、対で上に示したようにすることができます。

関数が返す必要があります。{1:2, 3:4, nice: 'free', 5:6}

これは私がこれまでに考案されたコードです:

function keyValue(array) { 
 
    for (var i = 0; i<array.length; i++){ 
 
\t  pairs = { 
 
\t \t [array[i][0]]: array[i][1] 
 
    \t }; 
 
     console.log(pairs); 
 
\t } 
 
} 
 

 
keyValue([[1, 2], [3, 4], ['nice', 'free'], [5, 6]]);

結果は示していますkeyValueの(array)'returns':Object {1: 2}, Object {3: 4}, Object {nice: 'free'}, Object {5: 6}

「コンソール。 「log」はすべてのキーを表示します。しかし、 'return'は最初のキーだけを表示します:value set;つまり、私は複数のオブジェクトを作成したのかはわからない{1:2}

、独自のキーを持つ各:値、「リターン」は唯一のキーの1セットを示し、おそらく理由:値

OR

もし私が1つのオブジェクトしか作成しなかったので、「戻り値」関数を使用して、キーのセット全体を表示する必要があります。助けてください。前もって感謝します。あなたはすべてを作成している

+0

それはあなたが持っているものと一緒に働くことです。 –

+2

すべての新しいオブジェクトをすべてのペアに作成していますが、目的の結果には1つのオブジェクトしか表示されません。 –

+1

'new Map(array)'を使うだけです。 –

答えて

0

その中に基本的にはこの

、はるかに単純な:私が作った

function keyValue(array) { 
var obj={}; 
for (var i = 0; i<array.length; i++){ 
    obj[array[i][0]]=array[i][1];  
} 
return obj; 
} 

keyValue([[1, 2], [3, 4], ['nice', 'free'], [5, 6]]); 

単にオブジェクトを作成し、ループの中で、それに新しいプロパティを割り当てる...

+0

完璧に作業しました!私はとても近かったが、これまでのところ!私はあなたのコードに非常によく似たものを試しましたが、 'forループ'の内部に 'var obj = {}'を配置しました。これは1つのキーのみを返しました:value set、それ以外のものはすべて同じです。 – Joan

+0

@Joan youre welcome;)それがあなたのために働いた場合、緑色のチェックマークを押してください... –

0

は以下

function keyValue(array) { 
 
var res=[]; 
 
    for (var i = 0; i<array.length; i++){ 
 
\t  pairs = { 
 
\t \t [array[i][0]]: array[i][1] 
 
    \t }; 
 
     res.push(pairs); // pushing to array 
 
\t } 
 
    console.log(res[0]) // retrive the first object 
 
} 
 

 
keyValue([[1, 2], [3, 4], ['nice', 'free'], [5, 6]]);

をスニペットのように。あなたは、その後 Array[0] .Tryで最初のオブジェクトを取得し、各ペアのオブジェクトの一部の配列をプッシュする必要がある新しいObject.Allオブジェクトを分離しています
1

空のオブジェクトを作成し、配列内にあるすべてのペアに対して新しいプロパティを割り当てることができます。

さらに、すべての変数を事前に宣言することをお勧めします。擬似コード

declare object 

iterate array 
    assign new key/value pair to object 

return object 
関連する問題