Найти наибольшее число в строке [jquery] - PullRequest
1 голос
/ 21 февраля 2020

Я получаю это значение, возвращаемое из переменной _text -  1 - 12 of 73 Items

Значение, возвращаемое из переменной _text, всегда отличается.

Мне нужно разобрать наибольшее число (73).

Вот что я пытался:

var _text = $('#find-page .items-box:first > .items:first-child').html();

var nums = [];
$('_text').each( function() { nums.push( $(this).val() ); });
var max = Math.max.apply(Math, nums);
console.log(nums);

Это возвращает 0, что не правильно .

Любая помощь будет принята с благодарностью!

Ответы [ 2 ]

3 голосов
/ 21 февраля 2020

Вы можете сопоставить все числа, затем сопоставить их и найти максимум:

var str = "1 - 12 of 73 Items";
var max = Math.max(...str.match(/\d+/g).map(Number));
console.log(max)
0 голосов
/ 21 февраля 2020

Если строка каждый раз одна и та же, это так же просто, как регулярное выражение, соответствующее шаблону

var str = " 1 - 12 of 73 Items"

console.log(str.match(/of\s(\d+)/)[1])

Если это может быть любое число в строке

    var str = " 123 456 890 90 33"

    console.log(Math.max(...str.match(/(\d+)/g).map(x=>+x)))
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...