2017-10-27 10 views
0

私はこのような配列を持っています:var array = [111, 222, 000, 111, 111, 000, 1111]

これまでのところとても良いです。
配列のすべての値をmaxに割り当てる方法同じ値を持ち、インデックスがである2スロットグループ(+ 2つの要素より小さいすべてのグループを削除します)?ただ、このような

配列値からダブルペアを生成するには?

var result = {["111" : "0, 3"], ["222" : "1"], ["000" : "2, 5"], ["111" : "4, 6"]} 


var end_result = {["111" : "0, 3"], ["000" : "2, 5"], ["111" : "4, 6"]}

: - "111" の値である
: - : "0は、3" である最初の2配列のインデックス

+1

あなたがスタートを切ったことがありますか?あなたはそのようなコミュニティがあなたの宿題をすることを期待することはできません – toastedDeli

+0

結果は配列またはオブジェクトの配列insindeですか? –

答えて

0

オブジェクトをハッシュテーブルとして使用できます。シングルスロット。

var array = [111, 222, 000, 111, 111, 000, 111], 
 
    hash = Object.create(null), 
 
    result = array.reduce(function (r, a, i) { 
 
     if (hash[a]) { 
 
      hash[a][1] += ', ' + i; 
 
      hash[a] = 0; 
 
      return r; 
 
     } 
 
     hash[a] = [a, i]; 
 
     return r.concat([hash[a]]); 
 
    }, []); 
 
    
 
console.log(result);
.as-console-wrapper { max-height: 100% !important; top: 0; }

+0

ありがとうございます。<3ベストソリューション、私は確信しています:) –

関連する問題