简体   繁体   English

JavaScript split()函数不起作用

[英]JavaScript split() function not working

I have a piece of string 我有一根线

"res1"

I want the output to be: 我希望输出为:

1

What I have tried till now: 到目前为止我尝试过的是:

HTML: HTML:

<!DOCTYPE html>
<html>
    <body>
        <p id="demo"></p>
        <button type="button" onclick="myFunction()">Try</button>
    </body>
</html>

JavaScript: JavaScript的:

function myFunction() {
    var str = "res1";
    var result = str.split("res");
    document.write(result);//returns ,1
    var mystring = result.split(',').join("");

    document.getElementById("demo").innerHTML = mystring;
}

The error which I receive is: 我收到的错误是:

Uncaught TypeError: result.split is not a function

What am I missing? 我想念什么?

You can simply do this: 您可以简单地做到这一点:

  function myFunction() { var str = "res1"; var result = str.split("res"); // output => ["","1"] //document.write(result);//returns ,1 //var mystring = result.split(',').join(""); document.getElementById("demo").innerHTML = result[1]; } 
 <p id="demo"></p> <button type="button" onclick="myFunction()">Try</button> 

If you generally want to get the last character of the string you could use something like: 如果您通常想要获取字符串的最后一个字符,则可以使用类似以下内容的方法:

var str = "res1";
str.substr(str.length - 1)

The reason yours isn't working is because when you call .split() it returns an array, so when you call result.split(',') you're calling that on an array, which array's do not have this method, which is why you are getting your error. 您无法使用的原因是,当您调用.split()它会返回一个数组,因此,当您调用result.split(',')您是在数组上调用该数组,而该数组没有此方法,这就是为什么出现错误的原因。 The other answers show an alternative, but I wanted to highlight why you are getting that error. 其他答案显示了一种替代方法,但我想强调一下为什么会出现该错误。

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM