遇到一個字符串,同時包含數字與空間以及性格像分鐘值包含數字,字符和空格
" 7, 4, B, 9"
我試圖讓最小值出來。
通過轉換成一個數組並使用Min函數,我們可以得到它的值。
當我們有它的字符串和空間,如何一次完成。
請建議我
遇到一個字符串,同時包含數字與空間以及性格像分鐘值包含數字,字符和空格
" 7, 4, B, 9"
我試圖讓最小值出來。
通過轉換成一個數組並使用Min函數,我們可以得到它的值。
當我們有它的字符串和空間,如何一次完成。
請建議我
let myStr = ' 7, 4, B, 9'
Math.min.apply(null, myStr.match(/\d+/g))
首先,我們創建一個使用match
用簡單的regex陣列。然後我們將Math.min
函數應用到數組的每個元素。
謝謝喬希您的快速幫助 – user1893874
我不是想出了這個例子,如果它發生,以適應需求:
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)
它應該只是正常工作在瀏覽器控制檯。
非特異性說明。 –
@blex更好嗎?做了一個編輯 –
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"]));
該一襯墊:'(」 7,4,B,9" .match(/ \ d + /克)|| [])分類()移位() '將返回最低值,或者如果未在該字符串中找到數字,則返回「undefined」。 – blex
謝謝Blex。它也能正常工作。 – user1893874