【发布时间】:2022-01-04 17:57:38
【问题描述】:
我做了一个函数,它删除字符串的最后一部分,它总是从_ 开始并获取整数,但我得到的只是文本部分而不是整数
如何做到这一点?
function splitLast(arg) {
if (arg.includes(".") && arg.includes("_")) {
return parseFloat(arg.split("_").pop())
} else if (arg.includes(".") != true && arg.includes("_")) {
return parseInt(+arg.split("_").pop())
} else {
throw "Arguments passed does not contain the valid result characters or isnt a required Datatype for thefunction"
}
}
console.log(splitLast("22_no"), 'should be 22')
console.log(splitLast("22.1_no"), 'should be 22.1')
【问题讨论】:
-
您说字符串“从_开始”并且您想“获取整数”,但是在您自己的示例代码中,“_”之后的文本是“no”,它不是整数。
-
您的代码也应该以文本的形式发布在这里,而不是图像。
-
最后一部分,即字符串分为两部分,第一部分是整数,第二部分是文本,所以文本总是以 _ 开头,然后是文本之后的所有内容
-
"22.1_no".split("_").pop()将返回字符串“no”。"22.1_no".split("_")返回数组["22.1", "no"]。 -
这样是不是像 return parseInt(arg[0])
标签: javascript arrays string