用 JavaScript 从对象中提取属性


我们必须编写一个 JavaScript 函数,比如 extract(),它将对象中的属性提取到另一个对象中,然后从原对象中删除它们。

比如,

如果 obj1 和 obj2 是两个对象,那么

obj1 = {color:"red", age:"23", name:"cindy"}
obj2 = extract(obj1, ["color","name"])

通过 extract 函数处理后,它们应变成,

obj1 = { age:23 }
obj2 = {color:"red", name:"cindy"}

因此,我们为该函数编写代码,

示例

const obj = {
   name: "Rahul",
   job: "Software Engineer",
   age: 23,
   city: "Mumbai",
   hobby: "Reading books"
};
const extract = (obj, ...keys) => {
   const newObject = Object.assign({});
   Object.keys(obj).forEach((key) => {
      if(keys.includes(key)){
         newObject[key] = obj[key];
         delete obj[key];
      };
   });
   return newObject;
};
console.log(extract(obj, 'name', 'job', 'hobby'));
console.log(obj);

输出

控制台输出为:,

{ name: 'Rahul', job: 'Software Engineer', hobby: 'Reading books' }
{ age: 23, city: 'Mumbai' }

更新于: 2020 年 8 月 26 日

3000+ 浏览量

开启您的 职业生涯

通过完成此课程获得认证

开始学习
广告
© . All rights reserved.