Javascript-форум (https://javascript.ru/forum/)
-   Общие вопросы Javascript (https://javascript.ru/forum/misc/)
-   -   Как преобраовать массив в строку и наоборот? (https://javascript.ru/forum/misc/63751-kak-preobraovat-massiv-v-stroku-i-naoborot.html)

stomaks 26.06.2016 23:31

Как преобраовать массив в строку и наоборот?
 
Подскажите как можно проще преобраовать массив в строку и наоборот?

Как мне кажется, способ которым я преобразовываю данные не самый продуктивный (пример ниже).
Где-то читал что проще это можно сделать при помощи JSON, но не нашел рабочего примера.

Начальный массив
[
  [
    ["ID Google Таблицы", "id"]
    ["Язык", "Русский"]
    ["Версия программы", "1.0"]
    ["Пароль", "none"]
    ["Оценка программы", "none"]
  ]
 [
    ["none", "none", "none", "none"]
  ]
]


Так я преобразовываю массив в строку:
function Settings_toLine(data){
  var temp = '';
  
  for(var i=0; i<data.length; i++){
    for(var j=0; j<data[i].length; j++){
      temp += data[i][j].join('|')+'||';
    }
    temp += '|';
  }
}


Вот пример данных в виде строки:
var Settings =
        ' ID Google Таблицы|id|'
        +'|Язык|Русский|'
        +'|Версия программы|1.0|'
        +'|Пароль|none|'
        +'|Оценка программы|none|'
      +'|'
        +'|none|none|none|none|none|none';



Так я преобразоваю строку в массив:
function Settings_toArray(){
  var data = Settings.split('|||');

  for(var i=0; i<data.length; i++){
    data[i]=data[i].split('||');
    for(var j=0; j<data[i].length; j++){
      data[i][j]=data[i][j].split('|');
    }
  } 
  return data;
}

laimas 27.06.2016 00:33

Цитата:

Сообщение от stomaks
Где-то читал что проще это можно сделать при помощи JSON, но не нашел рабочего примера.

https://developer.mozilla.org/ru/doc...JSON/stringify

Маэстро 29.06.2016 14:40

Цитата:

Сообщение от stomaks
преобразовать массив в строку

Смотря для каких целей..

var ar = 
[
  [
    ["ID Google Таблицы", "id"],
    ["Язык", "Русский"],
    ["Версия программы", "1.0"],
    ["Пароль", "none"],
    ["Оценка программы", "none"]
  ],
 [
  ["none", "none", "none", "none"]
 ]
];


//var s = ar[0].toString(); // простейший вариант
var s = ar[0].join(' | '); // вариант с нужным разделителем

alert(s);


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