Как стать автором
Обновить
3
0
Илья @iliks

Пользователь

Отправить сообщение

Мне необходимо проводить порядка 100т. операций или даже больше, в таком случае Function не будет особо приятным решением

15118 - время 50т. операций через Function()

1154 - время 50т. операций через calc()

В среднем моё решение в 8 раз быстрее

соглашусь и возможно даже это будет более быстрым решением, но для моей задачи требовалось отказаться и от eval и от Function.

Данный код гуляет на просторах интернета и вполне рабочий способ

const rgx = /(?:(?:^|[-+_*/])(?:\s*-?\d+(\.\d+)?(?:[eE][+-]?\d+)?\s*))+$/; function parse(str) { if (!rgx.test(str)) return 'invalid entry!' return Function('use strict'; return (<span class="hljs-subst">${str}</span>))() }

прошу прощения выражение в тексте выше, не тот на котором проводил тесты с разными примерами кода, потому получилось несколько глупо

Информация

В рейтинге
Не участвует
Откуда
Россия
Дата рождения
Зарегистрирован
Активность