1
Предположим, что у меня есть массив строк, которые представляют собой ключи, такие как ['a', 'b', 'd']
и существующий объект, такой как ...Создать новый объект на основе отфильтрованных ключей
const obj = {
a: 1,
b: 2,
c: 3,
d: 4,
e: 5
}
Есть ли способ создания нового объекта, который является фильтруется версия obj
на основе ключей в массиве такие, что ...
const updated = {
a: 1,
b: 2,
d: 4
}
с помощью функции Object.assign()
?
Я знаю, что он работает с такой функцией, как ...
function createNew(o, keys) {
const updated = {}
Object.keys(o).forEach(k => {
if (keys.includes(k)) updated[k] = o[k]
})
return updated
}
но я ищу решение с Object.assign()
Почему вы настаиваете на используя 'Object.assign'? – hsfzxjy
Вы имеете в виду 'Object.assign' в случае' obj [key] 'может быть объектом или массивом, и вы не хотите' obj [key] 'и' result [key] 'делиться ссылкой для той же самой вещи ? –
Не использовать точки с запятой - это плохая практика. Это в конечном итоге укусит вас, и ошибка будет очень трудно найти. – 4castle