gpt4 book ai didi

javascript - 如何获得textarea中的最大数字?

转载 作者:数据小太阳 更新时间:2023-10-29 05:46:27 24 4
gpt4 key购买 nike

我有一个这样的文本区域:

<textarea>
this is a test [1] also this [2] is a test
and again [3] this is a test
</textarea>

现在我需要获取 [] 中的最大数字。在这种情况下,我需要获取 3。我该怎么做?

最佳答案

你可以这样做:

var result = Math.max.apply(Math, textarea.value.match(/\d+/g).map(Number));

分解:

textarea.value.match(/\d+/g)

获取一个数字数组作为字符串。

.map(Number)

将数组的每个条目从字符串映射到数字。

Math.max.apply

使用 this 作为 Math 并将映射数组作为参数调用 Math.max

编辑:我没有意识到您需要的内容必须放在方括号之间。您需要为此使用捕获组,现在有点复杂。

var reg = /\[(\d+)\]/g, numberStrings = [ ], match;
while((match = reg.exec(textarea.value)) !== null){
numberStrings.push(match[1]);
}

var result = Math.max.apply(Math, numberStrings.map(Number));

获取带有数字的字符串数组有点棘手。

另一种选择,不使用捕获组:

var numbersInBrackets = textarea.value.match(/\[\d+\]/g);
var numbers = numbersInBrackets.map(function(x) {
return Number(x.substring(1, x.length - 1));
});
var result = Math.max.apply(Math, numbers);

关于javascript - 如何获得textarea中的最大数字?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34912624/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com