javascript匹配,获取数字

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

我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,7,3
  • 试着把句子分成字符数组,你可以使用
    “句子”。拆分(“”)
  • 通过数组循环检查每个字符是否为数字或是否使用parseFloat
  • 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好的,我知道了,使用测试,如果没有数字,就不返回任何数字