Разделение массива объектов
Есть массив объектов
[ { "id": 1, "type": "internal", "text": "Text", "checked":false, "disabled":false }, { "id": 2, "type": "external", "text": "Text2", "checked":true, "disabled":false }, { "id": 3, "type": "internal", "text": "Text3", "checked":false, "disabled":true }, { "id": 4, "type": "internal", "text": "Text4444", "checked":false, "disabled":false }, { "id": 5, "type": "external", "text": "Text55555", "checked":true, "disabled":true } ] Как в цикле разделить его на двухмерный массив по параметру "type". То-есть что бы external и internal были отдельно. Спасибо! |
И в чем проблема? Делаешь массив в котором элементами будут 2 массива и раскидываешь по ним объекты в зависимости от типа.
|
arr = [ { "id": 1, "type": "internal", "text": "Text", "checked":false, "disabled":false }, { "id": 2, "type": "external", "text": "Text2", "checked":true, "disabled":false }, { "id": 3, "type": "internal", "text": "Text3", "checked":false, "disabled":true }, { "id": 4, "type": "internal", "text": "Text4444", "checked":false, "disabled":false }, { "id": 5, "type": "external", "text": "Text55555", "checked":true, "disabled":true } ]; function diffByType(arr){ var out = [[],[]]; arr.forEach(function(elem){ out[+(elem.type === 'external')].push(elem); }); return out } alert(JSON.stringify(diffByType(arr),null,'\t')) |
Часовой пояс GMT +3, время: 00:52. |