Vous trouverez ci-dessous un fichier console.log d'un jeu de résultats de Neo4j. Il renvoie un tableau de cartes.Fonctionnement du mappage de touches dans les mappages JavaScript
Je peux results[0].get('RESULT')
, ce qui renvoie l'objet ou la carte (je ne sais pas lequel c'est) pour la touche RESULT.
Comment ça marche? Quand je crée une carte, j'ai une clé et une valeur mais aucun moyen d'avoir un tableau de clés que lorsque j'appelle .get
, il retourne l'objet "mappé".
[ 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 }
}]
Quand je CONSOLE.LOG une carte, il ressemble à ceci:
Map {
'RESULT' => { name: 'Bob' },
'PROVINCE' => { name: 'BC' },
'CITY' => { name: 'Nanaimo' }
}
Je crois qu'ils sont un tableau de cartes puisque vous ne pouvez pas utiliser .get sur un objet? – Kainan
@Kainan Dans ce cas '.get' est une fonction implémentée dans la classe Record de Neo4j Javascript Driver. Jetez un oeil dans la mise en œuvre dans [ce lien] (https://github.com/neo4j/neo4j-javascript-driver/blob/1.5/src/v1/record.js#L93). Il n'y a pas de relation avec [.get] (https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Map/get) de Map. Aussi, quelle est la sortie de 'typeof results [0]'? –
Le résultat est Object mais quand je fais typeof sur une carte il dit object to. Vous avez raison sur le .get étant une fonction. Merci de m'avoir aidé à comprendre cela. – Kainan