Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #1 (permalink)  
Старый 27.12.2017, 21:06
Интересующийся
Отправить личное сообщение для AkezhanOb1 Посмотреть профиль Найти все сообщения от AkezhanOb1
 
Регистрация: 28.09.2017
Сообщений: 20

Подскажите пожалуйста почему он не меняет значение
Надо в предложений(str) поменять слова (before) на (after)

вывод должен быть He is sitting on the couch

но почему то все равно возвращает He is sleeping on the couch

хотя если в функцию написать var word = (cur !== before) ? cur : after;
alert(word) он все правильно выводит (He is sitting on the couch)


function myReplace(str, before, after) { 
  str = str.split(" ");
   return str.filter( function(cur) {
        return (cur !== before) ? cur : after;
  });
}
alert(myReplace("He is sleeping on the couch", "sleeping", "sitting"));

Последний раз редактировалось AkezhanOb1, 27.12.2017 в 22:30.
Ответить с цитированием
  #2 (permalink)  
Старый 27.12.2017, 21:44
Аватар для рони
Профессор
Отправить личное сообщение для рони Посмотреть профиль Найти все сообщения от рони
 
Регистрация: 27.05.2010
Сообщений: 33,126

AkezhanOb1,
filter тут причём?
Ответить с цитированием
  #3 (permalink)  
Старый 27.12.2017, 21:46
Профессор
Отправить личное сообщение для Nexus Посмотреть профиль Найти все сообщения от Nexus
 
Регистрация: 04.12.2012
Сообщений: 3,795

https://learn.javascript.ru/array-iteration#filter
Сообщение от learn.javascript.ru
Метод «arr.filter(callback[, thisArg])» используется для фильтрации массива через функцию.
Он создаёт новый массив, в который войдут только те элементы arr, для которых вызов callback(item, i, arr) возвратит true.
Чем обычный replace не угодил?
Ответить с цитированием
  #4 (permalink)  
Старый 27.12.2017, 22:16
Аватар для рони
Профессор
Отправить личное сообщение для рони Посмотреть профиль Найти все сообщения от рони
 
Регистрация: 27.05.2010
Сообщений: 33,126

AkezhanOb1,
Пожалуйста, отформатируйте свой код!

Для этого его можно заключить в специальные теги: js/css/html и т.п., например:
[js]
... ваш код...
[/js]


О том, как вставить в сообщение исполняемый javascript и html-код, а также о дополнительных возможностях форматирования - читайте http://javascript.ru/formatting.
Ответить с цитированием
  #5 (permalink)  
Старый 28.12.2017, 00:02
Аватар для ruslan_mart
Профессор
Отправить личное сообщение для ruslan_mart Посмотреть профиль Найти все сообщения от ruslan_mart
 
Регистрация: 30.04.2012
Сообщений: 3,018

AkezhanOb1, вместо filter используйте map.
Ответить с цитированием
  #6 (permalink)  
Старый 28.12.2017, 00:12
Аватар для рони
Профессор
Отправить личное сообщение для рони Посмотреть профиль Найти все сообщения от рони
 
Регистрация: 27.05.2010
Сообщений: 33,126

Сообщение от ruslan_mart
вместо filter используйте map.
ты знал, ты знал
но маловато будет
Ответить с цитированием
Ответ



Опции темы Искать в теме
Искать в теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Объясните, пожалуйста мне, что такое значение reference dump Общие вопросы Javascript 1 21.07.2012 18:31
Почему меняется значение переменной Ichigeki Общие вопросы Javascript 14 08.09.2011 12:48
Почему match() возвращает значение undefined yolka Events/DOM/Window 2 24.04.2010 15:09
Почему не работает скрипт, подскажите aviaks Ваши сайты и скрипты 2 05.05.2009 14:38
Объясните пожалуйста значение символов после переменной Анатолий Общие вопросы Javascript 1 09.01.2009 03:50