2017-05-04 13 views
1

次のような配列から結果を出力しました。 34メートルとA250.1 0H - - 34メートル 3HJavaScript - 配列内の類似した文字列を除外します。

A250.1 - 0h 34 m 
A450.1 - 0h 34 m 
A240.2 - 1h 34 m 
A510.2 - 1h 34 m 
A440.2 - 1h 34 m 
A520.7 - 1h 34 m 
A350.1 - 3h 19 m 
A450.3 - 3h 34 m 
A340.1 - 3h 34 m 
A250.1 - 3h 34 m 
A320.6 - 3h 34 m 
A210.2 - 4h 19 m 
A240.4 - 5h 34 m 
A240.2 - 5h 34 m 

だから、私たちはここにA250.1を持っています。同じ名前(A250.1-3h 34 m)の2番目のものを最初のもの(A250.1 - 0h 34 m)から除外する最も効率的な方法は何ですか?最初のものの時間が経過すると(他のA250.1は、バック可視にポップません

を明確にするために、。。時間が経過すると、それはもはや濾過配列の要素を示す

をIは、結果を希望します以下のようになります。

A250.1 - 0h 34 m 
A450.1 - 0h 34 m 
A240.2 - 1h 34 m 
A510.2 - 1h 34 m 
A440.2 - 1h 34 m 
A520.7 - 1h 34 m 
A350.1 - 3h 19 m 
A450.3 - 3h 34 m 
A340.1 - 3h 34 m 
A320.6 - 3h 34 m 
A210.2 - 4h 19 m 
A240.4 - 5h 34 m 
A240.2 - 5h 34 m 

// REMOVED (2nd) A250.1 - 3h 34 m 

これについてのいくつかの更なる情報はここを見て蜂することができます。 JavaScript - Comparing two arrays with same strings

+0

この質問は重複しています。http://stackoverflow.com/questions/1960473/unique-values-in-an-array – subbu

+0

@ subbu1191重複していません。 –

+0

それは明らかではない私は魔女の部分が不明であることを知っていません。前の質問でさえ助けにならない。 –

答えて

0
var input_array = [ 
    "A250.1 - 0h 34 m", 
    "A450.1 - 0h 34 m", 
    "A240.2 - 1h 34 m", 
    "A510.2 - 1h 34 m", 
    "A440.2 - 1h 34 m", 
    "A520.7 - 1h 34 m", 
    "A350.1 - 3h 19 m", 
    "A450.3 - 3h 34 m", 
    "A340.1 - 3h 34 m", 
    "A250.1 - 3h 34 m", 
    "A320.6 - 3h 34 m", 
    "A210.2 - 4h 19 m", 
    "A240.4 - 5h 34 m", 
    "A240.2 - 5h 34 m" 
]; 
var output_array = [] 
var tmp_array = [] 
for (var i = 0; i < input_array.length - 1; i++) { 
    var result = input_array[i].split(' - '); 
    if (tmp_array.indexOf(result[0]) == -1) { 
     tmp_array.push(result[0]); 
     output_array.push(result[0].concat(' - ' + result[1])) 
    } 
} 
console.log(output_array); 

このコードを試してください、それは動作します。 チェックオンhttps://codepad.remoteinterview.io/LLPNUEZDFT

関連する問題