Cypher拉链系列

Bri*_*tes 3 neo4j cypher

如果我有两个系列,我怎么可以将它们拼接在一起?

with [1,2,3] as nums, ['a', 'b', 'c'] as letters
... wat do? ...
return zipped // [{a: 1}, {b: 2}, {c: 3}]
Run Code Online (Sandbox Code Playgroud)

cyb*_*sam 8

可能无法动态分配地图密钥(例如,使用项目letters).但是这个查询将返回类似于你想要的东西(使用集合而不是地图):

WITH [1,2,3] as nums, ['a', 'b', 'c'] as letters
RETURN EXTRACT(i IN RANGE(0, LENGTH(nums) - 1) | [letters[i], nums[i]]) AS result;
Run Code Online (Sandbox Code Playgroud)

结果是:

[["a",1],["b",2],["c",3]] 
Run Code Online (Sandbox Code Playgroud)

  • 我发现这也很好用:将[1,2,3]作为nums,['a','b','c']作为字母RETURN EXTRACT(i IN RANGE(0,LENGTH(nums) - 1 )| {letter:letters [i],num:nums [i]})AS结果; (2认同)