2017-05-01 14 views
0

私はキーと値のペアのリストを持っていますが、別の配列にキーをN回保存しようとしています。 私は論理を苦労しています。もし私が反復すると、list_of_objects私は値がすでに割り当てられているキーを追跡する方法がわかりません。別の配列にハッシュからキーを格納する

var kv={"a":2,"b":1,"c":1}; 
var list_of_objects=[bob,bill,jane,joe];//these are objects 

GOAL

bob.kv="a" 
bill.kv="a" 
jane.kv="b" 
joe.kv="c" 

ノート応じてコメントする:kvは、オブジェクトボブの財産である(または請求書、またはジェーン、またはジョー)

+0

達成したいことは本当に明確ではありません。 'kv'と' objects'の関係は何ですか? – Saravana

+0

@Saravana私は自分の投稿にメモを追加しました。それはそれをより良く説明しましたか? – Rilcon42

+0

kvのaの値が2で、配列の最初の2つのオブジェクトが正しいため、bob.kv = aおよびbill.kv = aのように見えますか? – Pango

答えて

1

あなたはObject.keys()

をしようとする場合があります
+0

オブジェクト配列を変更したくない場合は、 'shift'を使わないでください。 – MatUtter

1

@ MatUtterの答えに似ていますが、list_of_objects配列:

var index = 0; 
for (var key in kv) { 
    if (kv.hasOwnProperty(key)) { 
     var val = kv[key]; 
     while (val-- > 0) { 
      list_of_objects[index].kv = key; 
      index++; 
     } 
    }  
} 
関連する問題