【问题标题】:How do you get the key for an Immutable object?如何获得不可变对象的密钥?
【发布时间】:2020-11-19 13:31:49
【问题描述】:

我对 Immutable.js 有点陌生,需要循环遍历具有嵌套对象的 Map()。我基本上需要为父对象提取键,然后为每个对象的子对象提取值。

这是我正在使用的结构。我想获取密钥(本例中为ab),然后输出子值。

  Map({
    a: {
      foo: 1,
      bar: 2
    },
    b: {
      foo: 3,
      bar: 4
    }
  });

我尝试过类似的方法,但无法真正发挥作用:

  const mappedObj = data.toArray().map((d) => (
    <div>
      <h1>{d.get('[key??]')}</h1> // <- this is obviously wrong, but can't figure out how to get the [key]
      <ul>
        {d.map((a) => (
          <li>
            <span>{a.get('foo')}</span>
            <span>{a.get('bar')}</span>
          </li>
        ))}
      </ul>
    </div>
  ));

【问题讨论】:

  • Map 有一个内置的 forEach 方法,您可以使用它来迭代 Map...

标签: javascript reactjs immutable.js


【解决方案1】:

这是你要找的吗?

const map = new Map();

map.set('a', { foo: 1, bar: 2 });
map.set('b', { foo: 3, bar: 4 });

// Map { 'a' => { foo: 1, bar: 2 }, 'b' => { foo: 3, bar: 4 } } 


map.forEach((key, value) => console.log(value)) // a, b

【讨论】:

  • 这个答案肯定让我到达了我需要的地方。干杯!
猜你喜欢
  • 2016-08-11
  • 2020-09-16
  • 1970-01-01
  • 2017-04-19
  • 2018-01-16
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多