что я делаю неправильно в коде, который я упомянул ниже?
Мои выводы: ['Что', 'время', 'есть', 'это', 'все?' ] и ['здание']. Эти выходные данные должны быть строковыми, потому что я использовал метод соединения. Также первый вывод совершенно неверен.
let removeEWords = function(sentence) {
debugger
let arrayedSentence = sentence.split(" ");
let newArr = [];
return arrayedSentence.filter(function(el) {
if (!el.includes("e")) {
newArr.push(el);
}
return newArr.join(" ");
})
};
console.info(removeEWords('What time is it everyone?')); // 'What is it'
console.info(removeEWords('Enter the building')); // 'building'@mplungjan на самом деле нет. Вы не возвращаете значения из forEach.
Ок, это не карта, если он сделал то, что задумал и вернул новый Арр



![Безумие обратных вызовов в javascript [JS]](https://i.imgur.com/WsjO6zJb.png)


Вам нужно «фильтровать», а не добавлять в массив — вы используете filter как forEach
const removeEWords = sentence => sentence
.split(" ")
.filter(word => !word.includes("e")) // this returns true to return or false to drop
.join(" ");
console.info(removeEWords('What time is it everyone?')); // 'What is it'
console.info(removeEWords('Enter the building')); // 'building'@UBO Спасибо, что приняли мой ответ. Это было первое, и это правильно, но кто-то все равно решил проголосовать за него.
То, как .filter() работает с массивом, заключается в том, что вам нужно вернуть либо true, либо false. True = Сохранить, False = оставить;
Зная это, вы можете действительно реорганизовать это, просто сделав это:
let removeEWords = (sentence) => sentence.split(" ").filter((el) => !el.includes("e")).join(" ");
фильтр возвращает новый массив элементов, которые проходят тест (т.е. true/false), указанный в обратном вызове — нет необходимости во временном массиве, в который помещаются элементы. Итак, все, что вам нужно сделать, это return !word.includes('e'); вернуть слово, которое не включает e.
Примечание. Я назвал переменную word, так как это облегчает чтение обратного вызова.
function removeEWords(sentence) {
return sentence.split(' ').filter(word => {
return !word.includes('e');
})
};
console.info(removeEWords('What time is it everyone?'));
console.info(removeEWords('Enter the building'));
Во-первых, вы используете
filter, как будто этоmap...