2016-08-29 3 views
1

を使用して、オブジェクトのプロパティから一つの大きな配列を作成します。各プロパティは、文字列の配列だけでどこ私は、以下の構造を有するUndescore

Object = { 
1:[..], 
2:[..], 
3:[..], 
4:[..] 
} 

を。私が知りたいのですが

は、どのように私は、アンダースコアだけ使用して、すべてのユニークな要素の一つの大きな配列を作成することができます。

ありがとうございます!

+0

は、なぜあなたは純粋なJSのソリューションを使用することはできませんか? –

+0

@RajaprabhuAravindasamy、私はすでに、なぜ完全にそれを使用しない、私のプロジェクトにアンダースコアを使用しておりますので... – uksz

+0

は配列に要素がユニークですか?そうでない場合、別のポリシーの代わりにポリシーを選択するポリシーは何ですか? – pietro909

答えて

3

このオブジェクトを仮定:

var o = { 
    1:['3','4'], 
    2:['5','6'], 
    3:['7','8'], 
    4:['9','10'] 
} 

あなたはすべてのオブジェクトの値をフラット化することができます

var arr = _.flatten(_.values(o)); 
// [ '3', '4', '5', '6', '7', '8', '9', '10' ] 

は、配列を取得します。

EDIT: 私は質問は、文字列についてです番号を、使用していました。あらゆる種類のデータを保持します。重複を削除するには

、あなたはボックスのうち、文字列と数字のために働く_.uniqを使用することができます。

+1

ニースの答えを必要とする場合があります。これは、アンダースコアの連鎖関数を使うのに適しているので、 '_.chain(o).values()。flatten()。uniq()。value();'のようになります。 –

関連する問題