Javascript-форум (https://javascript.ru/forum/)
-   Общие вопросы Javascript (https://javascript.ru/forum/misc/)
-   -   Не отрабатывает функция (https://javascript.ru/forum/misc/53450-ne-otrabatyvaet-funkciya.html)

ivanWantsToKnow 04.02.2015 19:11

Не отрабатывает функция
 
Привет! Нужно решить вот такую задачу:
Write a function removeCharacter that takes two arguments, a character, ch, and a string, s, and returns a string with all the characters in s execpt ch. removeCharacter("a", "apple") should return "pple". removeCharacter("a", "banana") should return "bnn", and removeCharacter("i", "Mississippi") should return "Msssspp".
Сделал следующее:
var removeCharacter = function(ch, s) {
	var arr = s.split('');
	for(var i = 0, len = arr.length; i < len; i++) {
		if(arr[i] === ch) {
			arr.splice(i, 1);
		}
	}
	arr.join('');
	console.log(arr);
};

removeCharacter(a, banana);


В консоли выводит ошибку a is not defined. Помогите найти в чем ошибка.

рони 04.02.2015 19:15

Цитата:

Сообщение от ivanWantsToKnow
(a, banana);

где кавычки?

ivanWantsToKnow 04.02.2015 19:27

Блин, прозевал. Спасибо!)

p.s. почему-то функция выводит все-таки массив, а не строку. Метод join('') не сработал штоль..?

Aetae 04.02.2015 19:35

join возвращает строку, а не перезаписывает исходный массив.

ivanWantsToKnow 04.02.2015 19:45

Спасибо! Теперь все стало на свои места.

рони 04.02.2015 19:52

:-?
var removeCharacter = function(ch, s) {
    alert(s.split(ch).join(''));
};
removeCharacter('a', 'banana');


Часовой пояс GMT +3, время: 09:06.