https://beta.freecodecamp.org/en/challenges/es6/create-strings-using-template-literals
Проблема заключается в том, что последний тест не прошел: «Были использованы строки шаблона».
Имя браузера, версия:
Операционная система: FireFox 57.0 (64-разрядная) и Chrome версии 63.0.3239.84 (официальная сборка) (64-разрядная)
Мобильный, настольный компьютер или планшет: ноутбук с Windows 10 Professional, 64-разрядная версия
`const resultDisplayArray = result.failure.map(x => `<li class="text-warning">${x}</li>`);`
Обновление: после некоторого расследования, проведенного одним из наших участников, похоже, что промежуточная ветка исправляет проблему, но не была перенесена на бета-версию.
Я могу подтвердить, что это действительно работает на постановке, но я думаю, что в описании можно было бы немного пояснить.
Была аналогичная проблема. Согласитесь с систимотиком. Изменение текста в тестовых примерах предлагается следующим образом:
Текущее: Использовались строки шаблона
Предложено: строки шаблона использовались с map ()
Я изучил это сегодня, проблема не указывает на то, что требуется использование .map (), и я смог решить / завершить ее с использованием и без использования .map (). Поэтому я не считаю, что здесь нужны какие-то изменения?
Пол (@PolarisTLX) и Кайл (@ jklemon17)
Я недавно проверил это с помощью решения @mstellaluna , а также решил его без использования карты, как это сделал
Похоже, что map
теперь единственный метод передачи в новой версии . Следующие 2 метода не дали результата «Использованы строки шаблона»:
const resultDisplayArray = [
`<li class="text-warning">${arr[0]}</li>`,
`<li class="text-warning">${arr[1]}</li>`,
`<li class="text-warning">${arr[2]}</li>`
];
const resultDisplayArray = [];
for (let i = 0; i < arr.length; i++) {
resultDisplayArray.push(`<li class="text-warning">${arr[i]}</li>`)
}
@yoizfefisch , ты прав. Оба эти решения допустимы, но не проходят.
Похоже, что тестовый пример для шаблонных литералов недостаточно гибкий:
getUserInput => assert(getUserInput('index').match(/\\`<li class=\"text-warning\">\\$\\{\\w+\\}<\\/li>\\`/g)
Регулярное выражение не ожидает скобок перед следующей фигурной скобкой, и ваши решения приводят к сбою теста. Должно быть достаточно простое исправление. Я не лучший специалист с регулярным выражением, но это должно позволить использовать разные решения, подобные приведенным выше:
\`<li \s*class\s*=\s*(\"\s*text-warning\s*\"|\'\s*text-warning\s*\')\s*>\s*\$\s*\{(\s*\w+\s*|\s*\w+\s*\[\s*[\w]+\s*\]\s*)\}\s*<\s*\/li\s*>\`
Однако я не уверен, где именно некоторые символы должны быть экранированы двумя косыми чертами, как в текущих тестах. Будет ли кто-нибудь здесь заинтересован в обновлении этого теста и отправке PR?
Кроме того, вот обновленная ссылка на рассматриваемую задачу:
https://learn.freecodecamp.org/javascript-algorithms-and-data-structures/es6/create-strings-using-template-literals
Также хотел бы сообщить, что проблема все еще существует, карта работает для решения.
Учитывая, что у меня такая же проблема со стабильной версией ES6 на FCC, которая была только что развернута ранее на этой неделе, у меня есть некоторые сомнения относительно моего кода. Может ли кто-нибудь мне помочь?
Вот мой код: https://repl.it/repls/DizzyNiftyLocatorprogram
Push не работает в этом упражнении (или не работает или я, и кажется, что
другие), используйте метод .map для прохождения теста.
Марк Кляйнхаус
[email protected] [email protected]
206-234-4887
3 июня 2018 г., вс, 6:10, aenkirch [email protected] написал:
Учитывая, что у меня такая же проблема со стабильной версией ES6 по FCC
который был развернут только в начале этой недели, у меня есть некоторые сомнения, учитывая мой
код .. Может кто мне помочь?Вот мой код: https://repl.it/repls/DizzyNiftyLocatorprogram
-
Вы получили это, потому что оставили комментарий.
Ответьте на это письмо напрямую, просмотрите его на GitHub
https://github.com/freeCodeCamp/freeCodeCamp/issues/16358#issuecomment-394161176 ,
или отключить поток
https://github.com/notifications/unsubscribe-auth/AQdgL5WB3BsARAzpDfgyWHG8VsYm29yaks5t4-A3gaJpZM4ROiPm
.
Они передают result.failure в качестве параметра.
Правильный ответ
// изменить код под этой строкой
const resultDisplayArray = arr.map (x => <li class="text-warning">${x}</li>
);
подтвердил:
const resultDisplayArray = arr.map((a) => {
return `<li class="text-warning">${a}</li>`
});
работает
но
const resultDisplayArray = [
`<li class="text-warning">${arr[0]}</li>`,
`<li class="text-warning">${arr[1]}</li>`,
`<li class="text-warning">${arr[2]}</li>`
];
не работает. И в уроке нет упоминания о карте - и карта даже не вводится в учебную программу до раздела функционального программирования, который идет после этого раздела.
@ P1xt Та же проблема. К счастью, не только я.
const result = {
success: ["max-length", "no-amd", "prefer-arrow-functions"],
failure: ["no-var", "var-on-top", "linebreak"],
skipped: ["id-blacklist", "no-dup-keys"]
};
function makeList(arr) {
"use strict";
// change code below this line
const resultDisplayArray =
[`<li class="text-warning">${arr[0]}</li>`,
`<li class="text-warning">${arr[1]}</li>`,
`<li class="text-warning">${arr[2]}</li>`];
// change code above this line
return resultDisplayArray;
}
/**
* makeList(result.failure) should return:
* [ <li class="text-warning">no-var</li>,
* <li class="text-warning">var-on-top</li>,
* <li class="text-warning">linebreak</li> ]
**/
const resultDisplayArray = makeList(result.failure);****
у меня такая же проблема
@ richa031 Как указывалось выше, вам нужно использовать Array.map, с вашим подходом не работает.
я что-то написал неправильно? и почему мы здесь используем функцию карты?
Это глупая проблема, но между строковым литералом также требуются двойные кавычки, когда одинарные кавычки также должны быть приемлемым решением.
В продолжение https://github.com/freeCodeCamp/freeCodeCamp/issues/16358#issuecomment -396369730,
Я хотел бы добавить, что это не работает:
const resultDisplayArray = [];
for (let i = 0; i < arr.length; i++) {
resultDisplayArray[i] = `<li class="text-warning">${arr[i]}</li>`
}
@kanexte спасибо
Просто хотел вмешаться и упомянуть, что у меня тоже такая же проблема. Рад слышать, что это не я. Надеюсь, это скоро исправят.
Столкнувшись с той же проблемой. Думаю, мне придется официально оставить эту задачу незавершенной и двигаться дальше. IM (H) O - для этой задачи ссылка на элементы массива по их индексам является наиболее элегантным решением, а использование map / loops загромождает код.
У меня тоже такая проблема. Я пробовал использовать карту и теперь получаю сообщение об ошибке:
Реагировать не определено
Я думал, что тоже получаю это, но добавление карты делает это излишне трудным.
как ты решил проблему
P1xt - это правильный массив. Map - ключ к решению этой задачи, но не следует забывать, что он принимает функцию в качестве параметра.
@Tirjasdyn У меня такая же проблема, раздел fcc Es6 так сломан. Очень меньше инструкций. Нет инструкций по использованию map (), filter (), reduce () и в предыдущих задачах.
есть ли правильное решение этой проблемы?
@ Omerdogan3 Это неправильный путь, поскольку вы смотрите в задаче, желаемый результат
makeList (result.failure) должен вернуть:
Я согласен с @scissorsneedfoodtoo, что регулярное выражение в тестовом примере слишком ограничительно.
Я не мастер регулярных выражений, но это то, что я придумал / <li class="text-warning">\$\{[\w\[\]]+\}<\/li>
/ g (без экранирования обратной косой черты для строки). Это позволило бы ... решениям цикла, которые обращались к массиву в скобках arr [i], которые, по-видимому, запрещены текущим тестом регулярного выражения.
const resultDisplayArray = arr.map ((a) => {
возврат <li class="text-warning">${a}</li>
}); ``
Все еще получаю Invalid regular expression flags
Я просто получаю Invalid regular expression flags
Я все еще получаю ошибки для правильных решений.
все еще появляются> недопустимые флаги регулярного выражения
Привет всем. Спасибо, что нашли время сообщить нам об этой продолжающейся проблеме. Просто хотел сообщить вам, что тест регулярных выражений для этой задачи был недавно обновлен и вскоре должен быть запущен в производство.
По-прежнему получаются недопустимые флаги регулярного выражения:
const resultDisplayArray = arr.map ((a) => {
возврат <li class="text-warning">${a}</li>
});
@ mirkocoppola80 да, я не уверен, как часто бывают их слияния / сборки. Я не думаю, что они делали это с 30 мая, поэтому мы ждем, когда изменения вступят в силу.
Недопустимые флаги регулярного выражения на сегодня, ожидаем обновления ...
Я пробую использовать карту, петли и т. д., но не нашел решения. Вы это видите, может быть, нашли ключевую идею. https://www.youtube.com/watch?v=XzExdQye1Ls
@jsparadacelis Я следую коду в этом видео, это не работает
Привет, я также все еще получаю недопустимые флаги регулярного выражения с:
const resultDisplayArray = arr.map (item => <li class="text-warning">${item}</li>
);
Это все еще не работает. Можно здесь прикурить?
Ага, до сих пор не могу найти рабочего решения этой проблемы
Я получаю сообщение об ошибке " Недопустимые флаги регулярного выражения" .
const resultDisplayArray = arr.map ((msg) => {
return <li class="text-warning">${msg}</li>
;
});
Я также получаю сообщение об ошибке недопустимых флагов регулярного выражения ниже.
Я все еще получаю сообщение об ошибке " Недопустимые флаги регулярного выражения" .
https://learn.freecodecamp.org/javascript-algorithms-and-data-structures/es6/create-strings-using-template-literals/
Я пробовал это с картой и всем остальным, но все еще получаю недопустимые флаги регулярного выражения
Подтверждено, что все еще не работает
По-прежнему не работает, довольно неприятно
Прямо сейчас ни метод MAP, ни более простые, но длительные подходы не работают, та же ошибка - «Неверные флаги регулярного выражения», хотя другие тесты пройдены
Эй, если кто-нибудь нашел способ, пожалуйста, скажите мне, я не могу продвинуть xD (я знаю, что могу пропустить его, но, о мой ОКР)
У меня все еще не работает.
Эй, я просто еще один парень, чтобы написать, что это все еще не работает.
Я видел, что это предположительно исправлено и еще не развернуто, но я хотел опубликовать, если потребуется дополнительная информация. Я подтвердил правильность вывода с помощью console.log (), однако мое решение не прошло проверку «Были использованы строки шаблона».
мой код:
const resultDisplayArray = arr.map(x => `<li class="text-warning">${x}</li>`);
console.log(resultDisplayArray);
вывод консоли:
// running test
Invalid regular expression flags
// tests completed
<li class="text-warning">no-var</li>,<li class="text-warning">var-on-top</li>,<li class="text-warning">linebreak</li>
Все еще не работает. const resultDisplayArray = arr.map(num => '<li class="text-warning">${num}</li>');
// запускаем тест
Неверные флаги регулярного выражения
// тесты завершены
Метод карты по-прежнему не работает. С возвратом или без.
все еще жду исправления
const resultDisplayArray = arr.map (val => {return <li class="text-warning">${val}</li>
});
Получение неверного результата флагов регулярного выражения.
const resultDisplayArray = arr.map (x => <li class="text-warning">${x}</li>
);
const resultDisplayArray = [ <li class="text-warning">${arr[0]}</li>
, <li class="text-warning">${arr[1]}</li>
, <li class="text-warning">${arr[2]}</li>
];
у меня оба не работают, я думал, это мой код, но вроде что-то не работает
Пытался решить сегодня, но все равно не работает.
Я пробовал также с escape-знаками:
const resultDisplayArray = arr.map (x =>
<li class=\"text-warning\">${x}</li>
);
но это все еще "Недопустимые флаги регулярного выражения"
Я тоже пытался решить эту проблему, но по-прежнему получаю те же «Неверные флаги регулярного выражения» в качестве вывода. 2 из трех тестов пройдены, но я продолжаю получать сообщения.
const resultDisplayArray = arr.map (val => <li class="text-warning">${val}</li>
);
Я также использовал простой цикл for и получил тот же результат
Все еще не исправлено! 😢
да, я написал это как 4 способа, и это не работает. его разорили. просто пропустите это и двигайтесь дальше
Все еще не работает..
Та же проблема;
const resultDisplayArray = arr.map((a) => {
return `<li class="text-warning">${a}</li>`
});
возвращает ошибку "недопустимые флаги регулярного выражения"
Подтвердите, что все еще не работает.
Пробовал forEach, for loop, map .. Не знаю, что происходит с этой задачей
Ага, все еще не работает. Получение той же ошибки, что и все остальные: «Неверные флаги регулярного выражения».
Пробовал с map, forEach и т. Д.
Оно работает! Я пробую одно и то же решение с картой каждую неделю, и теперь оно прошло! Ура!
У меня тоже сработало! :) Вчера не работал.
Подтверждено, теперь работает с
const resultDisplayArray = arr.map((msg) => {
return `<li class="text-warning">${msg}</li>`;
});
Спасибо за исправление.
Алелуйя !! оно работает
alleluia.finally работает
это должно работать без функции карты, просто используя обычные литералы шаблона, если это научит, как пространство сохраняется без добавления
теги или & nbsp;
Ниже вы можете найти работающий код :):
const result = {
успех: ["максимальная длина", "нет-amd", "предпочтительные-стрелочные-функции"],
сбой: ["no-var", "var-on-top", "linebreak"],
пропущено: ["id-blacklist", "no-dup-keys"]
};
function makeList (arr) {
"использовать строго";
// изменить код под этой строкой
const resultDisplayArray = [ <li class="text-warning">${arr[0]}</li>
,
<li class="text-warning">${arr[1]}</li>
,
<li class="text-warning">${arr[2]}</li>
];
// изменить код над этой строкой
return resultDisplayArray;
}
/ **
<li class="text-warning">no-var</li>
,<li class="text-warning">var-on-top</li>
,<li class="text-warning">linebreak</li>
]
Самый полезный комментарий
подтвердил:
работает
но
не работает. И в уроке нет упоминания о карте - и карта даже не вводится в учебную программу до раздела функционального программирования, который идет после этого раздела.