【问题标题】:How to access an object from a list of objects如何从对象列表中访问对象
【发布时间】:2017-12-29 17:49:19
【问题描述】:

我有以下对象列表:

Object {7: Object, 22: Object, 32: Object, 102: Object, 104: Object, 105: Object, 106: Object, 117: Object, 118: Object, 119: Object}

我尝试像这样访问第一个对象,但没有成功:

this.props.sites[0]

出了什么问题,我怎样才能让它工作?

【问题讨论】:

  • 键不应该是整数 :(
  • 您没有带有密钥0的项目。

标签: javascript reactjs


【解决方案1】:

如果sites 是一个数组,则sites[0] 采用sites 的第一个元素。在您的情况下,它是一个 JavaScript 对象,其元素索引为键值对。

要获取第一个元素(它的键为 7),您可以像下面这样获取它:

this.props.sites[7];

工作示例:

function test() {
  this.props = {
    sites: {
      1: 'x',
      7: 'y',
      10: 'z'
    }
  };
  
  console.log(this.props.sites[1], this.props.sites[7], this.props.sites[10]);

}

test();

【讨论】:

  • 我认为 this.props.sites["7"] 是正确的。 this.props.sites[7] => 未定义。
  • @MarkoSavic -- 请参阅 sn-p。数字键很好。
【解决方案2】:
const ObjectTest = {
    7: object,
    22: object
}
render(){
 return (
     <div>
        Object.keys(ObjectTest).map( (key)=> {
          return <div>
            {ObjectTest[key][YOU MUST HAVE ELEMENT IN YOUR OBJECT]}
          </div>
        })
     </div>
 )
}

【讨论】:

    猜你喜欢
    • 2021-05-24
    • 2021-06-06
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多