【问题标题】:how to iterate a object array to get key and value in typescript如何迭代对象数组以获取打字稿中的键和值
【发布时间】:2020-07-26 17:49:14
【问题描述】:

我有一个对象数组,想通过迭代来获取键和值,但是我只得到 0, 1 作为索引。有人知道为什么吗?

const vairable = [{key1: "value1"}, {key2: "value2"}]
Object.keys(vairable).forEach((i: any) => {
    console.log(i); # get 0 and 1, I would like to have key1, key2
});

【问题讨论】:

  • 什么是keySelectorsvairable 中有一组非统一对象。如果要每个对象的键和值,先迭代vairable,然后用Object.entries()迭代每个对象的属性
  • @Phil 令人惊讶的是,Object.entries 在打字稿中似乎不可用
  • @Isaac 取决于您的语言级别配置。见stackoverflow.com/questions/39741428/…

标签: javascript typescript typescript2.0


【解决方案1】:

请这样尝试。

const vairable = [{key1: "value1"}, {key2: "value2"}]
vairable.forEach(item =>{
    for (const [key, value] of Object.entries(item)){
       console.log(key , value)
    }
})

它会输出:

key1 value1
key2 value2

【讨论】:

    【解决方案2】:

    Object.keys 方法作用于对象而不是数组。如果你想通过一个对象循环,那么它会像下面那样正常工作,

    const keys = {key1: "value1", key2: "value2"};
    
    Object.keys(keys).forEach((key) => {
      console.log(key);
    });

    【讨论】:

      【解决方案3】:

      这个怎么样:遍历数组:

      const vairable = [{key1: "value1"}, {key2: "value2"}]
      for(let e of vairable) {
        console.log(Object.keys(e))
      }
      

      【讨论】:

        【解决方案4】:

        Object.keys 给出数组本身的索引,而不是值中的对象。遍历这些值并探索它们:

        const variable = [{key1: "value1"}, {key2: "value2"}];
        
        for (const value of variable) {
            const firstKey = Object.keys(value)[0];
            console.log(firstKey);
        }

        【讨论】:

          猜你喜欢
          • 1970-01-01
          • 2020-06-22
          • 1970-01-01
          • 2022-01-12
          • 1970-01-01
          • 2018-07-03
          • 2020-03-04
          • 2018-11-25
          • 2014-12-27
          相关资源
          最近更新 更多