У меня есть локальные данные, которые находятся в следующем формате..
var data = [["Local", 75], ["STD", 55], ["ISD", 96], ["VOIP", 123], ["INCOMING", 34], ["INET", 104]];
Теперь я хочу, чтобы эти данные были из базы данных. Вот мои данные в базе данных, и это в формате json.
var data2= [{"type":"Local","value":"100"},{"type":"STD","value":"200"},{"type":"ISD","value":"234"},{"type":"VOIP","value":"500"},{"type":"INCOMING","value":"234"},{"type":"INET","value":"123"}]
но я не могу использовать эти данные, так как этот формат не совпадает с моими локальными данными.
Поэтому мой вопрос заключается в том, как преобразовать это в мой локальный формат данных. Пожалуйста помоги.
Как преобразовать var data2
в формат var data
.
Используйте функцию map()
:
var parsedData = JSON.parse(data2);
data = parsedData.map(function (o) { return [o.type, Number(o.value)]; });
console.log(data);
Number(o.value)
так как данные будут иметь ["STD", 55]
вторая часть в массиве имеет тип числа, тогда как ваш предыдущий код возвратит ["STD", "55"]
Это недействительный JSON. Действительный выглядит так:
[{"type":0,"value":0},{"type":1,"value":2},{"type":2,"value":4},{"type":3,"value":6},{"type":4,"value":8}]
Вы можете проверить это на http://jsonlint.com/
console.log(data);
в консоли браузера. Это действительно JSON!