У меня есть массив
items = ['name', 'description', ...];
и есть массив обьектов
objArr = [
name: {
required: true,
title: 'some name'
},
description: {
required: false,
text: 'some text'
}
]
как можно сделать новый массив чтобы он был таким:
itemsInfo = [
name: {
name: 'name',
settings: {
required: true,
title: 'some name'
}
},
{
name: 'description',
settings: {
required: false,
text: 'some text'
}
},
]
я сделал вот таким способом но возможно есть получше решение, так как в моём случает я много раз прохожу в поиске значений?
newArr = items.map(item => {
for (const key in objArr) {
if (item.name === key) {
item.field = objArr[key];
}
}
return item;
});
Если я правильно понял вопрос, то за один проход можно сделать. Я не делал, но возможно надо проверять на наличие ключа в objArr
items = ['name', 'description'];
objArr = {
name: {
required: true,
title: 'some name'
},
description: {
required: false,
text: 'some text'
}
}
var newArr = [];
for (var i of items) {
newArr.push({
name: i,
setting: objArr[i]
});
}
console.log(newArr)
Основные этапы разработки сайта для стоматологической клиники
Продвижение своими сайтами как стратегия роста и независимости