Это должно быть просто, но я не уверен, почему он не работает:
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
Вы можете достичь этой цели, используя RegExp более кратко:
function kebabToSnake (str) {
return str.replace(/-/g, '_');
}