typescript 基于另一个对象创建对象

knpiaxh1  于 2023-01-31  发布在  TypeScript
关注(0)|答案(2)|浏览(183)

我有一个像这样的对象:

let Object1 = { id1: { date: '23-01-2023', status: 'completed' }, id2: { date: '02-01-2023', status: 'pending' } }

如何创建一个新对象,使其不仅包含对象的所有键,还包含嵌套对象上某个键的值,如下所示:

let Object2 = { id1: 'completed', id2: 'pending' }
gr8qqesn

gr8qqesn1#

可以在Object.entries上执行map,将每个值替换为该嵌套对象的status属性,然后使用Object.fromEntries创建一个新对象。

let obj1 = { id1: { date: '23-01-2023', status: 'completed' }, id2: { date: '02-01-2023', status: 'pending' } }
let res = Object.fromEntries(Object.entries(obj1).map(([k, v]) => [k, v.status]));
console.log(res);
x8goxv8g

x8goxv8g2#

获取object1的键并使用reduce函数填充新对象。

const object2 = Object.keys(object1).reduce((res, key) => {
  res[key] = object1[key].status;
  return res;
}, {});

相关问题