Формирование данных var в jquery

0

У меня есть var в jquery, который содержит такие значения.

var data = [["Local", 75], ["STD", 55], ["ISD", 96], ["VOIP", 123], ["INCOMING", 34], ["INET", 104]];

Теперь у меня есть другой var, который содержит такие значения, как..

var data2=["LOCAL,200","STD,120","ISD,200","VOIP,500","INCOMING,234","INET,104"]

Поэтому мой вопрос заключается в том, как я могу преобразовать var data2 в var data потому что моему приложению нужны данные в формате var data.

Пожалуйста помоги.

  • 0
    Есть ли у вас какие-либо попытки? твой собственный код?
  • 0
    @ MyP3uK Я пытался сделать это из кода на стороне сервера, но безуспешно
Показать ещё 1 комментарий
Теги:

1 ответ

5

Это сделает это:

var data2=["LOCAL,200","STD,120","ISD,200","VOIP,500","INCOMING,234","INET,104"]
data = data2.map(function(e){return e.split(',')});

результат:

data === [["LOCAL","200"], ["STD","120"], ["ISD","200"],
          ["VOIP","500"], ["INCOMING","234"], ["INET","104"]]

Или, если 2-й элемент в "под-массивах" должен быть целым числом:

data = data2.map(function(e){
    var temp = e.split(',');
    temp[1] = parseInt(temp[1], 10);
    return temp;
});

результат:

data === [["LOCAL",200], ["STD",120], ["ISD",200],
          ["VOIP",500], ["INCOMING",234], ["INET",104]]

Однако, возможно, лучшим решением было бы превратить его в такой объект:

data = data2.reduce(function(obj, current){
    var temp = current.split(',');
    obj[temp[0]] = parseInt(temp[1], 10)
    return obj;
}, {});

результат:

data === {"LOCAL":200, "STD":120, "ISD":200,
          "VOIP":500, "INCOMING":234, "INET":104};
  • 0
    .map не является ошибкой функции
  • 0
    Почему эта ошибка, сэр?
Показать ещё 6 комментариев

Ещё вопросы

Сообщество Overcoder
Наверх
Меню