2012-02-15 3 views
0

Когда я JArray.toSource(), я получаю это: -JSON данных в JavaScript

[{selectionID:"1", cnt:"5"}, {selectionID:"2", cnt:"2"}, {selectionID:"3", cnt:"1"}] 

Как я могу преобразовать JArray форматировать так: -

[[1,5],[2,2],[3,1]] 

в JavaScript.

В конце концов я хочу newJArray.toSource() стать [[1,5],[2,2],[3,1]]

ответ

1

Решение pimvdb очень хорошее. Мой комментарий является то, что в данном конкретном случае это достаточно:

array.map(function(arrayItem) { 
    return [arrayItem.selectionID, arrayItem.cnt]; 
}); 

Это уродливее (более конкретно), но мое шестое чувство, что это гораздо более эффективным (а иногда и что имеет значение).

+0

новыйJArray = JArray.map (функция() { возвращение [JArray.selectionID, JArray.cnt]; }); становятся [[(void 0), (void 0)], [(void 0), (void 0)], [(void 0), (void 0)]] Я что-то упустил здесь, где JArray [? ?]. selectionID – Gian

3

Вы можете использовать Object.keys, который возвращает ключи и map отобразить массив как например:

array.map(function(arrayItem) { 
    return Object.keys(arrayItem).map(function(objectKey) { 
    return +arrayItem[objectKey]; // convert to number 
    }); 
}); 

В принципе, заменить каждый элемент в массиве с значения объекта.

Смежные вопросы