2016-08-17 51 views
-3

遇到一個字符串,同時包含數字與空間以及性格像分鐘值包含數字,字符和空格

" 7, 4, B, 9" 

我試圖讓最小值出來。

通過轉換成一個數組並使用Min函數,我們可以得到它的值。

當我們有它的字符串和空間,如何一次完成。

請建議我

+0

該一襯墊:'(」 7,4,B,9" .match(/ \ d + /克)|| [])分類()移位() '將返回最低值,或者如果未在該字符串中找到數字,則返回「undefined」。 – blex

+0

謝謝Blex。它也能正常工作。 – user1893874

回答

1
let myStr = ' 7, 4, B, 9' 
Math.min.apply(null, myStr.match(/\d+/g)) 

首先,我們創建一個使用match用簡單的regex陣列。然後我們將Math.min函數應用到數組的每個元素。

+0

謝謝喬希您的快速幫助 – user1893874

0

我不是想出了這個例子,如果它發生,以適應需求:

search = " 7, 4, B, 9"; 
 
min = 9999; search.split(",").forEach(function (val) { 
 
    val = val.replace(/^\s+/,'').replace(/\s+$/,''); 
 
    return Number(val) == val 
 
     ? (min = min < val ? min : val) 
 
     : (String(val).charCodeAt(0) > min 
 
      ? min 
 
      : String(val).charCodeAt(0)) 
 
}); 
 
console.log(min)

它應該只是正常工作在瀏覽器控制檯。

+0

非特異性說明。 –

+1

@blex更好嗎?做了一個編輯 –

0

function doTheThing(arr) { 
 
    return arr.filter(function(item){ 
 
     return typeof item === "number"; 
 
    }).reduce(function(p, c) { 
 
     return Math.min(p, c); 
 
    }); 
 
} 
 

 
document.write(doTheThing([5, 6, "A", 61, "B"]));

相關問題