2016-08-02 5 views
1

ユーザーがボタンをクリックするたびに情報が入力される配列があります。この配列にプッシュされる情報は、配列自体の中にあります。したがってこの線に沿って何か:入れ子になった重複配列のチェック

var parentArray = []; 
var childArray = ["Info1", "Info2", 500]; 

$("#button").on("click", function(){ 
    parentArray.push(childArray); 
}) 

ユーザーがボタンをクリックするたびに、childArrayは、別のユーザー入力に基づいて異なる情報を持つことになります。たとえば、ユーザーがマップ上の1つのポイントをクリックすると、childArrayは特定の情報をマップに取り込みます。ユーザーが地図上の別の地点をクリックすると、childArrayが特定の情報を地図に表示します。 childArrayが異なるか同じものになるたびに。ユーザーはボタンをクリックし、childArrayの情報はparentArrayにプッシュされます。

私の問題は、childArraysparentArrayから削除したいと考えています。

["Info1", "Info2", 25]

別の子配列は次のようになります: ["Info1", "Info2", 50]

そして、このような別のルックス: ["Info1", "Info2", 25]

は、私が2 childArrays場合見つけたいので、1 childArrayはこのようになりますと言います同じ配列の場合は1番目と3番目の配列、そうでない場合は1つの類似の配列を除くすべての配列を削除してください。

[["Info1", "Info2", 25], ["Info1", "Info2", 50], ["Info1", "Info2", 25]]

parentArrayは次のようになります。

[["Info1", "Info2", 25], ["Info1", "Info2", 50]]

は、それがこれを達成することは可能ですか?もしそうなら、私はそれをどうやってやりますか?

これは意味があると思います。

+0

を使用することができ、あなたは何を試してみましたか? – Jamiec

+0

場合は、ここで答えを見つけることができますhttp://stackoverflow.com/questions/6680430/get-unique-results-from-json-array-using-jquery –

+0

http://stackoverflow.com/questions/6518651/ elmingating-json-objectの複製 –

答えて

0

あなたははい、それは可能だfilter()thisArgパラメータ

var ar = [["Info1", "Info2", 25], ["Info1", "Info2", 50], ["Info1", "Info2", 25]]; 
 
var result = ar.filter(function(e) { 
 
    if(!this[e.join('|')]) { 
 
    this[e.join('|')] = true; 
 
    return e; 
 
    } 
 
}, {}); 
 

 
console.log(result);

+0

あなたのコードをフィドルで投稿できます –

+0

申し訳ありませんが、私は最初のコメントに関して私が間違っていたことを見ました。あなたは別々の中括弧を持つ理由と実際にそれを動作させる理由を説明できますか? –

+1

これは 'thisArg'パラメータとしてのオブジェクトであり、関数では' this'です。 –

関連する問題