【问题标题】:Getting Javascript object property by name [duplicate]按名称获取Javascript对象属性[重复]
【发布时间】:2015-06-24 00:34:51
【问题描述】:

想象一下我有一个像这样的对象:

var obj = {
  name: {
    value: 'Sergio'
  },
  lastName: {
    value: 'Tapia'
  }
}

我想创建一个函数来获取给定属性的value

理想情况下:

console.log(getProperty(obj, 'name'));
=> 'Sergio'

console.log(getProperty(obj, 'lastName'));
=> 'Sergio'

【问题讨论】:

  • 您在这样做时到底遇到了什么问题?

标签: javascript object properties


【解决方案1】:

您可以使用括号表示法来访问对象的属性。你的功能是:

function getProperty(obj, property) {
  return obj[property].value;
}

我可能会将其命名为 getProperyValue

【讨论】:

  • 等等,你需要.value吗?这甚至有效吗?刚试了一下,好像不行。但是return obj[key] 可以。
  • @AmmarCSE 你看他问题顶部的示例对象了吗?
  • :) 我的错误。对不起
  • @AmmarCSE 不用担心——我实际上是在没有.value 的情况下写的,然后意识到......
【解决方案2】:
function getProperty(obj,property){
  return obj[property].value;
}

【讨论】:

    【解决方案3】:

    这个功能应该可以帮助你实现你所需要的。

    function getProperty(obj, key){
      return obj[key].value;  
    }
    

    我相信

    console.log(getProperty(obj, 'lastName'));
    

    应该返回“Tapia”而不是“Sergio”。

    【讨论】:

    • 如果你的代码没有做任何事情,就不需要堆栈 sn-ps。使帖子更易于阅读。
    • 谢谢@FelixKling。这是有道理的:)
    猜你喜欢
    • 2017-05-21
    • 1970-01-01
    • 2018-06-08
    • 2020-11-03
    • 2021-08-27
    • 1970-01-01
    • 2014-09-23
    • 1970-01-01
    • 2021-01-17
    相关资源
    最近更新 更多