Как заказать целочисленную строку, плавающее число и специальные символы - PullRequest
0 голосов
/ 02 августа 2020

Пожалуйста, помогите, я новенький в javascript THX.

let test = [" 1/2", " 3/4", " 1", " 1.1/4", " 1.1/2", " 2", " 2.1/2", " 3", " 4", " 3/8", " 1/4"];

Ответы [ 2 ]

1 голос
/ 02 августа 2020

Решение @Nina красивое и простое, но некоторым людям нравится избегать eval.

Если это так, предоставленные вами данные удобны и просты для анализа, поэтому следующий вариант - еще один вариант.

let test = [" 1/2", " 3/4", " 1", " 1.1/4", " 1.1/2", " 2", " 2.1/2", " 3", " 4", " 3/8", " 1/4"];

const val = str => { const [a,b = 1] = str.split('/'); return a / b };

test.sort((a, b) => val(a)-val(b));

console.log(...test);
1 голос
/ 02 августа 2020

Вы можете оценить дельту.

let test = [" 1/2", " 3/4", " 1", " 1.1/4", " 1.1/2", " 2", " 2.1/2", " 3", " 4", " 3/8", " 1/4"];

test.sort((a, b) => eval(`${a} - ${b}`));

console.log(...test);
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...