2016-04-09 8 views
2

私は関数javascriptが必要です。 私はフォーマット位置区切り文字で重複する行を削除します

abc|a|1 
abc|a|2 
abcd|a|1 
abc|b|1 

のリストを持っていると私は第一および第二のpostionで複製する| 新しいリストがある(スプリット ""):

abc|a|1 
abcd|a|1 
abc|b|1 

はどうもありがとうございます

+1

申し訳ありませんが、あなたは不明である "私はで複製します"。最初のリストから "abc | a | 2"を除いて2番目のリストを生成したいと言っていますか?そして、あなたが望むものを特定するために使用したい*厳密なルールは除外されるべきですか? – MartynA

+0

はい、申し訳ありませんが、私の英語です。ポジション1と2で複製したい – denmodo

+0

1 | 2 | 3はフォーマット – denmodo

答えて

1

Array#filter()でデータをフィルタリングし、結果に同じ2つの部分を持つ項目がすでに存在する場合は、参照のために一時的なオブジェクトを取得できます。

var list = ['abc|a|1', 'abc|a|2', 'abcd|a|1', 'abc|b|1'], 
 
    result = list.filter(function (a) { 
 
     var b = a.split('|'), 
 
      k = b[0] + '|' + b[1]; 
 
     if (!this[k]) { 
 
      this[k] = true; 
 
      return true; 
 
     } 
 
    }, {}); 
 

 
document.write('<pre>' + JSON.stringify(result, 0, 4) + '</pre>');

+1

ありがとうございます:) – denmodo

関連する問題