Как удалить из массива jquery лишние фрагменты строк в элементах?

109
16 января 2020, 17:50

Есть массив на 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']
Answer 1

Реализованное предложение от @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');

READ ALSO
Сдетектить переключение вкладки

Сдетектить переключение вкладки

Необходимо в приложении отключать звук, если вкладка неактивнаНе получается найти кроссбраузерный способ

107
Server-Sent Events Apache AH00690: no acceptable variant: /usr/share/apache2/error/HTTP_INTERNAL_SERVER_ERROR.html.var

Server-Sent Events Apache AH00690: no acceptable variant: /usr/share/apache2/error/HTTP_INTERNAL_SERVER_ERROR.html.var

Пытаюсь реализовать SSE на стеке Apache+PHP(FastCGI)Apache 2

96
Передача функции в onClick.React

Передача функции в onClick.React

Почему если я заполняю мэпом, то онклик не работает?Ниже он работает и переходит на следующий шаг

102
Поддержка angular7 в ie9

Поддержка angular7 в ie9

Необходимо обеспечить поддержку angular7 в ie9По найденным советам уже подключил всевозможные полифиллы

121