javascript用循环替换字符

javascript用循环替换字符

这应该很简单,但是我不确定为什么不起作用:

function kebabToSnake (str){
    var string = "";
    var chart = "";
    for(i=0; i < str.lenght; i++){
        if (str.charAt(i) == "-") {
            chart = "_";
            string = string + chart;
        }
        else {
            chart = str.charAt(i);
            string = string + chart;
        }
    }
    return string
}


我知道我可以用str.replace(/-/ g,“ _”)来做到这一点,但是除了太长之外,我看不到上面有什么问题。任何帮助都会很棒。

最佳答案

您拼写的“长度”错误。 (第4行)

拼写更正后可以使用。



function kebabToSnake (str){
    var string = "";
    var chart = "";
    for(i=0; i < str.length; i++){  //fixed spelling from 'str.lenght'
        if (str.charAt(i) == "-") {
            chart = "_";
            string = string + chart;
        }
        else {
            chart = str.charAt(i);
            string = string + chart;
        }
    }
    return string
}

var body = document.querySelector( 'body' ),
    output = kebabToSnake( '-' ); //First test with '-' in conditional statement

body.innerHTML = output; //display to body

output = kebabToSnake( 'Another String' ); //Second test with random text triggering ELSE statement

body.innerHTML += '<br>' + output; //display to body

关于javascript - javascript用循环替换字符,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/45528075/

10-10 14:45