Есть массив на js
, подключена библиотека jquery
labels=['0 (-100%)','1','2 (+100%)','3 (+200%)','4 (+300%)','5 (+400%)','6 (+500%)','7 (+600%)','8 (+700%)','9 (+800%)','10']
Как из него элементов удалить проценты в скобках вместе с пробелом (-100%)
оставив только цифры в таком виде:
labels=['0','1','2','3','4','5','6','7','8','9','10']
Реализованное предложение от @Bald.
const labels = ['0 (-100%)', '1', '2 (+100%)', '3 (+200%)', '4 (+300%)', '5 (+400%)', '6 (+500%)', '7 (+600%)', '8 (+700%)', '9 (+800%)', '10'];
const digits = labels.map(m => m.split(' ')[0]);
console.log(digits);
Самый быстрый способ - indexOf
совместно с substr
.
https://jsperf.com/parse-number-in-string
const cnt = 1000000;
const labels2 = new Array(cnt);
for (let i = 0; i < cnt; i++) {
labels2[i] = i + ' ' + 'dasd';
}
console.time('split');
const res1 = labels2.map(m => m.split(' ')[0]);
console.timeEnd('split');
console.time('parseInt');
const res2 = labels2.map(m => parseInt(m).toString());
console.timeEnd('parseInt');
console.time('parseFloat');
const res3 = labels2.map(m => parseFloat(m).toString());
console.timeEnd('parseFloat');
console.time('indexOf');
const res4 = labels2.map(m => m.substr(0, m.indexOf(' ')));
console.timeEnd('indexOf');
Айфон мало держит заряд, разбираемся с проблемой вместе с AppLab
Необходимо в приложении отключать звук, если вкладка неактивнаНе получается найти кроссбраузерный способ
Пытаюсь реализовать SSE на стеке Apache+PHP(FastCGI)Apache 2
Почему если я заполняю мэпом, то онклик не работает?Ниже он работает и переходит на следующий шаг
Необходимо обеспечить поддержку angular7 в ie9По найденным советам уже подключил всевозможные полифиллы