Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #1 (permalink)  
Старый 20.02.2020, 12:17
Аватар для Максим Ученик
Интересующийся
Отправить личное сообщение для Максим Ученик Посмотреть профиль Найти все сообщения от Максим Ученик
 
Регистрация: 13.08.2019
Сообщений: 25

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

"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.
Ответить с цитированием
  #2 (permalink)  
Старый 20.02.2020, 12:26
Аватар для рони
Профессор
Отправить личное сообщение для рони Посмотреть профиль Найти все сообщения от рони
 
Регистрация: 27.05.2010
Сообщений: 33,068

Максим Ученик,
split map
Ответить с цитированием
  #3 (permalink)  
Старый 20.02.2020, 12:27
Аватар для Максим Ученик
Интересующийся
Отправить личное сообщение для Максим Ученик Посмотреть профиль Найти все сообщения от Максим Ученик
 
Регистрация: 13.08.2019
Сообщений: 25

Сообщение от рони Посмотреть сообщение
Максим Ученик,
split map
Спасибо...я так и думал
Ответить с цитированием
  #4 (permalink)  
Старый 20.02.2020, 13:00
Аватар для рони
Профессор
Отправить личное сообщение для рони Посмотреть профиль Найти все сообщения от рони
 
Регистрация: 27.05.2010
Сообщений: 33,068

Максим Ученик,
для новых браузеров можно так ...
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:23.
Ответить с цитированием
  #5 (permalink)  
Старый 20.02.2020, 13:05
Аватар для рони
Профессор
Отправить личное сообщение для рони Посмотреть профиль Найти все сообщения от рони
 
Регистрация: 27.05.2010
Сообщений: 33,068

Максим Ученик,
или так для всех ...
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)

Последний раз редактировалось рони, 20.02.2020 в 13:23.
Ответить с цитированием
  #6 (permalink)  
Старый 20.02.2020, 13:17
Аватар для Vlasenko Fedor
Профессор
Отправить личное сообщение для Vlasenko Fedor Посмотреть профиль Найти все сообщения от Vlasenko Fedor
 
Регистрация: 13.03.2013
Сообщений: 1,572

рони,
в массивах строки, в результате у ТС числа
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 из примера в конце не попало в результат, так и надо?

Последний раз редактировалось Vlasenko Fedor, 20.02.2020 в 13:21.
Ответить с цитированием
  #7 (permalink)  
Старый 20.02.2020, 13:23
Аватар для рони
Профессор
Отправить личное сообщение для рони Посмотреть профиль Найти все сообщения от рони
 
Регистрация: 27.05.2010
Сообщений: 33,068

Poznakomlus,
ок, добавил Number в примеры выше
Ответить с цитированием
Ответ



Опции темы Искать в теме
Искать в теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Как передать в массив перемеенную как ключ массива? фдуч Общие вопросы Javascript 15 11.01.2018 21:21
Как записать массив в localStorage Олег19 Элементы интерфейса 2 29.10.2017 21:40
Массив как часть параметра diprom Javascript под браузер 3 21.09.2011 00:08
Как записать в массив новый объек а не ссылку на исходный объект Casufi Общие вопросы Javascript 12 08.02.2010 02:40
Как лучше сделать глобальный массив skyfish AJAX и COMET 4 17.02.2009 18:05