Ошибка flatMap is not a function
Прохожу курс по js на coursera. При проверке стандартным checks.js возникла ошибка - "(имя функции).flatMap is not a function" Сам код стабильно работает в браузере, а переписать код как то по другому у меня не хватает мозгов)
Сам код
/**
* @param {String} tweet
* @returns {String[]}
*/
module.exports = function (tweet) {
let words = tweet.flatMap(sentence => sentence.split(' '));
let result = words.filter(word => word.startsWith('#'));
preresult = result.map((v) => v.slice(1, 30));
return preresult
};
cheaks.js -
// Встроенный в Node.JS модуль для проверок
var assert = require('assert');
// Подключаем свою функцию
var getHashTags = require('./index.js');
assert.deepEqual(
getHashTags('Прохожу курс на #coursera по #javascript'),
['coursera', 'javascript'],
'Строка "Прохожу курс на #coursera по #javascript"' +
' должна содержать хэштеги "coursera, javascript"'
);
console.info('OK!');
Ответы (1 шт):
Автор решения: azlov
→ Ссылка
flatMap это метод массива, а вы пытаетесь передать строку
getHashTags('Прохожу курс на #coursera по #javascript')
а у строк нет функции flatMap. В прошлом примере вы ведь писали функцию для массива:
const arrTweets = [
'Попробывал твитнуть',
'Я уже совсем #обтвитовался',
"Не #могу ничего #твинтнуть",
];
const lol = arrTweets.flatMap(sentence => sentence.split(' '));