@tostershmoster

Почему сортировка со стрелочной функцией не проходит тест?

исходная функция
function order(words){
  return words.split(' ').sort(function(a, b){
      return a.match(/\d/) - b.match(/\d/);
   }).join(' ');
}


тест
const {assert} = require('chai');

describe("order", () => {
  it("should work corectly", () => {
    assert.strictEqual(order("is2 Thi1s T4est 3a"), "Thi1s is2 3a T4est")
    assert.strictEqual(order("4of Fo1r pe6ople g3ood th5e the2"), "Fo1r the2 g3ood 4of th5e pe6ople")
    assert.strictEqual(order(""), "", "empty input should return empty string" )
  });
});

Так все тесты проходят

Если поменять функцию сортировки на стрелочную
function order(words){
  return words.split(' ').sort((a, b) => {
    a.match(/\d/) - b.match(/\d/);
  }).join(' ');
}


то получаю ошибку
expected 'is2 Thi1s T4est 3a' to equal 'Thi1s is2 3a T4est'


Почему? Разве это не одно и тоже?
  • Вопрос задан
  • 160 просмотров
Решения вопроса 1
yarkov
@yarkov Куратор тега JavaScript
Помог ответ? Отметь решением.
В стрелочной или скобки фигурные убери, или return добавь.
Ответ написан
Комментировать
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы