Подскажите, почему возникает ошибка?

95
13 января 2022, 12:40

Необходимо, чтобы ф-ия удаляла букву 'o' в слове world. Подскажите, почему возникает ошибка в коде?

window.document.write(disemvowel('world')); 
  function disemvowel(str){ 
    let a=['']; 
    a=str; 
    for(var i=0;i<a.length;i++){ 
       if(a[i]=='o'){ 
         a.splice(i,1); 
       } 
    } 
    return a; 
  }

Answer 1

Потому что это строка, а не массив. Строки неизменяемые и у них нет метода splice.

document.write(disemvowel('world')); 
 
function disemvowel(str) { 
  let a = [...str]; 
 
  for (var i = 0; i < a.length; i++) { 
    if (a[i] == 'o') { 
      a.splice(i, 1); 
    } 
  } 
 
  return a.join(''); 
}

А вообще, надо делать так:

console.log('world'.replace(/o/g, '')); 
console.log('world'.split('o').join(''));

Answer 2

Вот так еще можно

function disemvowel(str,symbol){
    return str.replace(symbol,'');
  }
READ ALSO
Не могу поместить value в функцию

Не могу поместить value в функцию

друзья! Проблема вот в чемРешил я написать примитивный калькулятор и все получилось, НО, в каждой функции математической операции лежит переменная...

99
Не работает js в IE 11, в остальных браузерах - ок

Не работает js в IE 11, в остальных браузерах - ок

Мой первый сайт partnernktru, сильно не пинайте

63
Как правильно удалить элемент из NodeList?

Как правильно удалить элемент из NodeList?

У меня есть NodeList внутри которого элементы которые отображаются на странице:

113