Javascript-форум (https://javascript.ru/forum/)
-   Элементы интерфейса (https://javascript.ru/forum/dom-window/)
-   -   Как записать в массив ? (https://javascript.ru/forum/dom-window/79542-kak-zapisat-v-massiv.html)

Максим Ученик 20.02.2020 12:17

Как записать в массив ?
 
Как из такой конструкции :

"M371,212 371,382 51,382 51,372 94,372 94,291 206,291 206,211 252,211 252,292 324,293 325,212 371,212"


Сделать такую :


и так далее пока цифры не кончатся ?

рони 20.02.2020 12:26

Максим Ученик,
split map

Максим Ученик 20.02.2020 12:27

Цитата:

Сообщение от рони (Сообщение 520389)
Максим Ученик,
split map

Спасибо...я так и думал :cray:

рони 20.02.2020 13:00

Максим Ученик,
для новых браузеров можно так ...
let str = "M371,212 371,382 51,382 51,372 94,372 94,291 206,291 206,211 252,211 252,292 324,293 325,212 371,212";
let regexp = /(?<a>\d+),(?<b>\d+)/g;
let match = str.matchAll(regexp);
let arr = Array.from(match, ({groups : {a,b}}) =>  [a, b].map(Number));
console.log(arr)

рони 20.02.2020 13:05

Максим Ученик,
или так для всех ...
let str = "M371,212 371,382 51,382 51,372 94,372 94,291 206,291 206,211 252,211 252,292 324,293 325,212 371,212";
let regexp = /(\d+)/g;
let splitArr = str.split(/\s+/);
let arr = splitArr.map(el =>  el.match(regexp).map(Number));
console.log(arr)

Vlasenko Fedor 20.02.2020 13:17

рони,
в массивах строки, в результате у ТС числа
const str = "M371,212 371,382 51,382 51,372 94,372 94,291 206,291 206,211 252,211 252,292 324,293 325,212 371,212";
const result = str.match(/\d+,\d+/g).map(value => value.split(',').map(Number));
console.log(result);

Максим Ученик,
371,212 из примера в конце не попало в результат, так и надо?

рони 20.02.2020 13:23

Poznakomlus,
ок, добавил Number в примеры выше


Часовой пояс GMT +3, время: 21:52.