javascript匹配,获取数字
我10天前开始自学javascript,我必须做一个练习。我已经通过几个来源阅读了相关文章,包括javascript手册。我没有太多的编程知识,所以我做的不太好。无论如何,我写在这里是因为我希望有人能解释我,应该怎么做。所以要提前做好准备。这项工作是: 完成以下javascript:在一个表中查找并打印句子中的所有数字。如果句子中没有数字,请打印“没有数字!”。尝试使用test()方法检查句子中的数字: 示例输出javascript匹配,获取数字,javascript,Javascript,我10天前开始自学javascript,我必须做一个练习。我已经通过几个来源阅读了相关文章,包括javascript手册。我没有太多的编程知识,所以我做的不太好。无论如何,我写在这里是因为我希望有人能解释我,应该怎么做。所以要提前做好准备。这项工作是: 完成以下javascript:在一个表中查找并打印句子中的所有数字。如果句子中没有数字,请打印“没有数字!”。尝试使用test()方法检查句子中的数字: 示例输出 0,7,7,1,0,1,7,7,4,4,7,5,4,0,4,3,0,1,7,4,7
0,7,7,1,0,1,7,7,4,4,7,5,4,0,4,3,0,1,7,4,7,7,3
“句子”。拆分(“”)
var-station=“J07ku7 k1rj01774v47 54n0j4 num3r0174 käy77ä3n”;
语句.split(“”).forEach(myChar=>
!isNaN(parseFloat(myChar))&&console.log(myChar)
);代码>这就是如何实现这样的函数以获得正确的结果。在这样简单的代码中,您可能会遇到一些陷阱
var sentence = "J07ku7 k1rj01774v47 54n0j4 num3r0174 käy77ä3n.";
function printNumbers(text) {
return text
.replace(/\s/g, "")
.split('')
.filter(str => !isNaN(str))
.map(octet => parseInt(octet, 10))
}
console.log(printNumbers(sentence))
这是一把小提琴:
你可以用几种方法来解决这个问题。ES6的短方法是-
const getNumbers=str=>str.split(“”).filter(ch=>!isNaN(ch)).map(x=>x>>0.join();
const sentance=“J07ku7 k1rj01774v47 54n0j4 num3r0174 käy77ä3n。”;
const res=getNumbers(sentance);
log(res.length>0?res:'没有数字!')代码>
.as控制台包装{最小高度:100%!重要;顶部:0}
一行回答,也就是最简单的方法:
var-station=“J07ku7 k1rj01774v47 54n0j4 num3r0174 käy77ä3n”;
console.log((新的RegExp(“[0-9]”)).test(句子)?句子.match(/[0-9]{1}/g).join():'no number!')代码>对不起,任务需要两个输出
var sentence = "J07ku7 k1rj01774v47 54n0j4 num3r0174 käy77ä3n.";
function print numbers () {
/* put your code here */
}
示例输出
0,7,7,1,0,1,7,7,4,4,7,5,4,0,4,3,0,1,7,4,7,7,3
第一个输出:
0,1,1,8,9,9,9,8,8,1,9,9,9,1,1,9,7,2,5,3
第二输出:
0,1,2,3,4,5,6,7,8,9,1,0
第一个我答对了,但第二个我有点纠结,“…使用test()方法”-他们在谈论哪个test()
方法?你自己已经尝试过解决这个问题了吗?函数打印数字
你不能有这样的函数名语句。匹配(/\d/g)?.join()|“无数字”
“字符串”@Andreasorry但是更干净的方法..我不同意你的答案,但我现在应该得到正确的答案:“0,1,1,8,9,9,9,8,8,1,9,9,9,9,9,9,9,1,1,9,7,2,5,3”@MoshFeu我不同意,但这个答案中的问题是当它是0
时,pareFloat()
将返回0
,这将被解释为false
,这是真的。应该将parse int与八位字节一起使用。如果你不理解js字符串数组的机制,那么将其解析为数字可能会产生意外的行为。是的,我刚刚添加了IsNant。问题的标题建议使用match:Pyor输出是一个数组。。。示例输出建议一个字符串(示例输出中没有[]
)tks我正确地得到了第一个测试,但第二个测试是不正确的示例输出;0,1,2,3,4,5,6,7,8,9,1,0@kami好的,我知道了,使用测试,如果没有数字,就不返回任何数字