2016-01-06 59 views
-4

我只是想比較使用javascript正確的數字和左側的數字編號,這是我的輸入樣本比較使用Javascript

290|0 
290|0 
290|2902 
250|0 
250|0 
0|0 
0|1299.95 
0|1299.95 
250|0 
290|0 
290|0 
290|22 
32|1299.95 
0|0 

那麼結果是更大的數字:

290 
290 
2902 
250 
250 
0 
1299.95 
1299.95 
250 
290 
290 
290 
1299.95 
0 

請幫幫忙!

+0

如果right_number == left_number – AshBringer

+0

所以,你需要比較數字,你的問題是什麼? '290 | 0'不是JS中的數據類型,你有什麼樣的數據?你需要什麼類型的結果? – Teemu

+0

Math.max(num1,num2); ??? – user7

回答

3

這裏是如何做到這一點的很長的路的最大數量: -

var input = '290|0\n\ 
290|0\n\ 
290|2902\n\ 
250|0\n\ 
250|0\n\ 
0|0\n\ 
0|1299.95\n\ 
0|1299.95\n\ 
250|0\n\ 
290|0\n\ 
290|0\n\ 
290|22\n\ 
32|1299.95\n\ 
0|0' 

var rows = input.split('\n') 
var output = [ ] 

for (var i = 0; i < rows.length; ++i) { 
    var row = rows[i] 
    var parts = row.split('|') 
    if (1*parts[0] > 1*parts[1]) 
     output.push(parts[0]) 
    else 
     output.push(parts[1]) 
} 
output = '\n'.join(output) 
+0

謝謝@Fred –

+0

Hi @Fred我有一個問題,'32 | 1299'結果'32'和'290 | 1299.95'結果'290' https://jsfiddle.net/1g0q0p9q/ –

+0

你是對的@Ph!我正在比較字符串,'3'是'1'。我編輯了我的答案,強制數字而不是字符串比較。 –