Преобразование JS-объекта в массив -duplicate-

Я знаю, что мой вопрос может быть допрошен раньше другими.

Я имею в виду этот qaru.site/info/19318/.... Dogbert уже дают ответ правильно. здесь Dogbert ответил:

var myObj = {
1: [1, 2, 3],
2: [4, 5, 6]
};

var array = $.map(myObj, function(value, index) {
  return [value];
});

console.log(array);

выход:

[[1, 2, 3], [4, 5, 6]]

Я добавляю 1 строковый код после вывода console.log, который передает данные в текстовое поле

$('#assign').val(array);

Я получил значение array в своем текстовом поле следующим образом:

1,2,3,4,5,6

Есть ли способ переформатировать данные в текстовом поле, например:

[[1,2,3],[4,5,6]] 

или

[{1,2,3},{4,5,6}]

Надеюсь, что кто-нибудь поможет! спасибо

Ответ 1

Если я правильно понимаю, вы хотите превратить свой объект в строку? Если это так, вы можете сделать это:

Ваш объект:

var myObj = {
1: ["a", "3", "h"],
2: ["r", "y", "s"]
};

Превратите свой объект в массив строк

var array = jQuery.map(myObj, function(value) {
  return "[" + value + "]";
});

Начните свою строку, заполните ее своими значениями

var myString = "[";
array.forEach(function(value){myString += value + ","}); 

Затем удалите последнюю кому и поместите в свой последний скобок:

myString = myString.substring(0,myString.length-1) + "]";

Теперь, если у вас должна быть строка с требуемым форматом

alert(myString); //[[a,3,h],[r,y,s]]