从对象中提取特定属性及其值

Extract specific properties and their values from an object

提问人:Ahmad Benchakhtir 提问时间:7/31/2023 最后编辑:Ahmad Benchakhtir 更新时间:8/2/2023 访问量:41

问:

假设我有这个 obj:

let userInfo = {
    name: 'Ahmed',
    age: 24,
    _id: "34ef5576",
    email: '[email protected]'
}

如何提取属性名称_id电子邮件。并将它们放入新对象中? 谢谢。

所以我想要一种简单的方法来解决这个问题,没有任何外部库..!

JavaScript 对象 前端 数据操作

评论

0赞 Peter Seliger 7/31/2023
除了已经给出的答案外,OP 还可能研究解构分配......至于OP的用例......const { name, _id, email } = userInfo;
0赞 Peter Seliger 8/1/2023
...关于OP的最后编辑更改...“然后把它们放到一个新的物体里?”...编写一个函数,该函数接受一个对象并创建并返回特定对象...喜欢。。。。。。甚至作为立即调用的未命名箭头函数表达式......function createVitalUserDate({ _id, name, email }) { return { _id, name, email }; } const vitalUserDate = createVitalUserDate(userInfo);const vitalUserDate = (({ _id, name, email }) => ({ _id, name, email }))(userInfo);

答:

0赞 user21888528 7/31/2023 #1

用。获取价值

// For Get values from an Obj
console.log('Name : ', userInfo.name)
console.log('ID : ', userInfo._id)

// Output
// Name :  Ahmed
// ID :  34ef5576
1赞 Vu Nguyen 7/31/2023 #2

了解属性访问器。这被认为是基本语法。如果你在某个地方学习了关于JavaScript的初级课程或教程,他们可能已经告诉你它们是什么。

来了,坐在免费网络知识的列车上:https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Operators/Property_accessors

提示:许多编程语言都以相同的方式访问属性/属性。

-1赞 Ahmad Benchakhtir 8/2/2023 #3

我发现它:

  1. 假设我们有这个对象,我们要从其特定字段中提取的原始对象:

    const parentObj = { name: "ahmed", age: 22, country: "morocco" };
    
  2. 现在我们正在创建一个函数,为我们创建提取对象:

    function pickFromObj(originalObject, arrayOfWantedProperties){
      let resultObj = {};
      for(property in originalObject){
        if(arrayOfWantedProperties.includes(property)){
          resultObj[property] = originalObject[property]
        }
      }
      return resultObj;
    }
    
  3. 最后,创建提取对象:

    let childObj = pickFromObj(parentObj, ['name', 'age']);
    

评论

0赞 Peter Seliger 8/2/2023
仅从你自己的回答中,就清楚地知道你真正想要实现的目标。当问一个问题时,试着尽可能准确地解释你的问题是什么,以及你对可能的解决方案的期望。其次,选择对象(甚至可能是自己的)属性的泛型函数可以或应该更直接、更简洁地实现。