键映射如何在JavaScript映射中工作

时间:2017-10-18 18:43:25

标签: javascript neo4j

以下是Neo4j的结果集的console.log。它返回一组地图。

我能够results[0].get('RESULT'),它返回RESULT键的对象或地图(我不确定它是哪一个)。

这是如何工作的?当我创建一个地图时,我有一个键和一个值,但没有办法获得一个键数组,当我调用.get时,它返回“映射”对象。

 [ Record {
     keys: [ 'RESULT', 'PROVINCE', 'CITY' ],
     length: 3,
     _fields: [ [Object], [Object], [Object] ],
     _fieldLookup: { RESULT: 0, PROVINCE: 1, CITY: 2 }
    },
   Record {
     keys: [ 'RESULT', 'PROVINCE', 'CITY' ],
     length: 3,
     _fields: [ [Object], [Object], [Object] ],
     _fieldLookup: { RESULT: 0, PROVINCE: 1, CITY: 2 }
    },
   Record {
     keys: [ 'RESULT', 'PROVINCE', 'CITY' ],
     length: 3,
     _fields: [ [Object], [Object], [Object] ],
     _fieldLookup: { RESULT: 0, PROVINCE: 1, CITY: 2 }
    }]

当我在console.log中时,它看起来像这样:

Map {
    'RESULT' => { name: 'Bob' },
    'PROVINCE' => { name: 'BC' },
    'CITY' => { name: 'Nanaimo' }
}

2 个答案:

答案 0 :(得分:2)

我假设您使用的是官方Neo4j Javascript Driver

在这种情况下,您正在处理的结果集是Record个对象的数组。当您执行results[0].get('RESULT')时,您正在调用此课程中实施的get function

关于Record.get功能的文档说:

  

通过索引或字段键从此记录中获取值。

答案 1 :(得分:1)

您可以使用.entries()获取Map的{​​{1}}和Iterator的属性,值对,以将属性作为数组获取

Array.from()