Falcor - 有没有办法迭代地图

Posted

技术标签:

【中文标题】Falcor - 有没有办法迭代地图【英文标题】:Falcor - Is there a way to iterate a map 【发布时间】:2016-09-23 03:04:41 【问题描述】:

到目前为止,我发现我们可以使用from: x, to: y 对数组进行迭代。有没有办法在地图上进行迭代?

例如,我有以下地图:

    companyMap: 
        61: 
            name: 'Apple'
        ,
        66: 
            name: 'Microsoft'
        ,
        70: 
            name: 'Uber'
        
    

有没有办法在这张地图上进行迭代?或者至少得到所有的钥匙?

【问题讨论】:

【参考方案1】:

要遍历地图,您首先需要为您将拥有的键数建立一个实际的(不是理论上的)最大值。

在设计上,您无法在 Falcor 中调用无限量的数据。如果没有实际的最大值,最好首先重新考虑如何对数据进行分页。

例如,如果您将实际最大值设置为 70 个键,则需要提出以下请求:

this.model.get(`companyMap[0..70]['name']`);

对于数据集中不存在的键,将不会返回任何内容。

【讨论】:

【参考方案2】:

您可以要求任意数量的密钥。例如下面的路径集:

["companyMap", [61, 66, 70], "name"]

返回 3 家公司的名称。

【讨论】:

以上是关于Falcor - 有没有办法迭代地图的主要内容,如果未能解决你的问题,请参考以下文章

多次迭代内存不足

Python:就地映射[重复]

如何在 C++ 中反向迭代地图?

在javascript中迭代地图

有没有办法在 for-each 循环迭代开始之前避免空检查? [复制]

如何遍历地图,修改地图但在每次迭代时恢复?