исходная функция
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'
Почему? Разве это не одно и тоже?