Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #1 (permalink)  
Старый 25.03.2014, 23:40
Новичок на форуме
Отправить личное сообщение для volodymyrl Посмотреть профиль Найти все сообщения от volodymyrl
 
Регистрация: 26.01.2012
Сообщений: 9

Разделение массива объектов
Есть массив объектов

[
    {
        "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 (permalink)  
Старый 26.03.2014, 03:16
Профессор
Отправить личное сообщение для jsnb Посмотреть профиль Найти все сообщения от jsnb
 
Регистрация: 15.03.2014
Сообщений: 561

И в чем проблема? Делаешь массив в котором элементами будут 2 массива и раскидываешь по ним объекты в зависимости от типа.
Ответить с цитированием
  #3 (permalink)  
Старый 26.03.2014, 03:34
Аватар для Aetae
Тлен
Отправить личное сообщение для Aetae Посмотреть профиль Найти все сообщения от Aetae
 
Регистрация: 02.01.2010
Сообщений: 6,503

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'))
__________________
29375, 35
Ответить с цитированием
Ответ



Опции темы Искать в теме
Искать в теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Разделение массива masterfrag Учебные материалы 8 02.12.2013 01:48
Не видно объектов массива. Lim00n Общие вопросы Javascript 0 19.09.2012 22:06
Создать конструктор массива объектов PashPP Общие вопросы Javascript 1 13.08.2012 02:52
Перебор массива объектов Триви jQuery 12 26.08.2011 09:22
Быстрый поиск объектов Shasoft Общие вопросы Javascript 7 30.07.2009 05:28