У меня есть следующий объект:Как я могу отфильтровать массив объектов на основе значения поля и переназначить объекты?
options.getOrderBy = function (type) {
var OrderBy = [
{ type: 'x', id: 0, label: 'xx1', key: 'yy1' },
{ type: 'x', id: 1, label: 'xx2', key: [1,2] },
{ type: 'x', id: 9, label: 'xx2', key: ['a','b'] },
{ type: 'y', id: 0, label: 'xx44', key: 'yya' },
{ type: 'y', id: 1, label: 'xx45', key: 'yyb' },
{ type: 'y', id: 2, label: 'xx46', key: 'yyc' },
];
return OrderBy;
};
Что мне нужно, что когда функция вызывается с типом («х»), то я хочу, чтобы вернуть что-то вроде:
[
{ id: 0, label: 'xx1', key: [1.2] },
{ id: 1, label: 'xx2', key: 'yy2' },
{ id: 9, label: 'xx2', key: ['a','b'] }
]
Может ли кто-нибудь объяснить мне, как я могу фильтровать массив на основе значения поля типа, а затем просто вернуть массив объектов, содержащих идентификатор, метку и ключ?
Обратите внимание, что у меня есть _lodash, и я бы хотел использовать это, если это упростит. Кроме того, мое решение было бы для браузеров больше, чем IE9
Как это проверить, чтобы вернуть только те элементы, чей тип element.type ==? Это не похоже на ответ на вопрос OP, только часть его! –
Вы правы, я полностью пропустил эту часть. Я исправлю его как можно скорее. – link
Я исправил ответ и предоставил две рабочие реализации. – link