Есть массив
const docs = [
{type: 'ps', number: '123456'},
{type: 'psp', number: '223456'},
{type: 'psp', number: '423456'},
{type: 'vul', number: '823456'},
];
Как его привести к виду
{
ps: [
{number: '123456'}
],
psp: [
{number: '223456'},
{number: '423456'},
],
vul: [
number: '823456'
]
}
Вариант с reduce
:
const docs = [
{type: 'ps', number: '123456'},
{type: 'psp', number: '223456'},
{type: 'psp', number: '423456'},
{type: 'vul', number: '823456'},
];
let newdocs = docs.reduce((prev, item) => {
let type = item.type;
prev[type] = prev[type] || [];
prev[type].push({number : item.number})
return prev;
}, {});
console.log(newdocs);
const docs = [
{type: 'ps', number: '123456'},
{type: 'psp', number: '223456'},
{type: 'psp', number: '423456'},
{type: 'vul', number: '823456'},
];
var newdocs = [], i;
for(i=0; i<docs.length; i++) {
if(!(docs[i].type in newdocs)) {
newdocs[docs[i].type] = [{number: docs[i].number}];
} else {
newdocs[docs[i].type].push({number: docs[i].number});
}
}
console.log(newdocs.psp[1].number); // 423456
const docs = [
{type: 'ps', number: '123456'},
{type: 'psp', number: '223456'},
{type: 'psp', number: '423456'},
{type: 'vul', number: '823456'},
];
var newObj = {}; // создаем пустой объект
for (key in docs) { // пробегаемся по массиву
if (!newObj[docs[key].type]) { // если еще нету поля
newObj[docs[key].type] = []; // создаем его и иницализируем пустой массив
}
newObj[docs[key].type].push({number: docs[key].number}); // заполняем поле number'ом
}
console.log(newObj);
Виртуальный выделенный сервер (VDS) становится отличным выбором
Нужно подписывать текстовые документы в браузере (желательно chrome, firefox latest) при помощи ЭЦПКак реализовать такую фичу?
В body есть несколько контейнер, идущие друг за другом, каждый имеет высоту 100vhМне нужно сделать так, чтобы при скролле один элемент какбы съезжал...
Есть код который с помощью PhantomJS делает скриншоты страницы, на indiegogocom категорически отказывается работать,без кастом хидера выдает пустой...
Столкнулся с проблемой при написании сайта, а именно - не работает генерация пароляСама суть задачи в чем - есть поле для ввода пароля, а рядом...