首页 > 解决方案 > 从具有新值Angular / Ionic 3的现有对象创建新对象

问题描述

我正在开发一个使用 Angular 的 Ionic 3 项目。

我有一个如下所示的 JSON 对象,称为 person。但是,我有一个 Ionic 切换按钮,它可以根据人返回的内容启用各个部分。

person  = { name: "peter", job: "programmer", home: "somewhere"};

person_checked_values = {}

为了更新我的切换,我需要传递一个布尔值。钥匙是一样的。如何根据 person KEYs 返回的内容动态构建一个新对象但将值设置为 true 以便 person_checked_values 结果如下所示?

person_checked_values  = { name: true, job: true, home: true};

我试图 foreach 循环人并从中创建一个新对象,但一直不确定和难倒。FWIW - 我也在使用 _lodash 所以如果有可能使用该库的帮助,它是可用的。

标签: javascriptangularionic3

解决方案


您可以使用Object.keys来获取所有密钥。然后,您可以将其与.reduce数组的功能结合起来构建一个对象。

let person = {
  name: "peter",
  job: "programmer",
  home: "somewhere"
};

let result = Object.keys(person).reduce((obj, key) => {
  obj[key] = true;
  return obj;
}, {})

console.log(result);


推荐阅读