【发布时间】:2020-03-27 05:03:53
【问题描述】:
鉴于这两个数组:
[ {
"0" : "e34712",
"1" : "1768-01-19",
"2" : "Robert Thomas",
"3" : "Richard Morris"
}, [etc]]
和
[ {
"0" : "e34712",
"1" : "1768-01-19",
"2" : "Robert Thomas",
"3" : [ "William Morris; ", "Richard Morris" ]
}, [etc]]
如何获取第三个元素中的项目数,如第一个数组中的“1”和第二个数组中的“2”?如果我记录[3].length,我得到'2',正如预期的那样,第二个,虽然我得到第一个字符串的长度,即如果第三个位置只有一个项目。
我需要这样做:
result.forEach(function (record) {
record[3] = record[3].join('')
})
如果记录 [3] 只有一个项目,这不起作用,所以我想添加一个“如果记录 [3] 包含多个项目,然后执行 .join,否则通过”。如果我这样做了
if record[3].length > 2 它还可以捕获仅包含三个或四个字符的单个字符串,这当然是我不想要的。
【问题讨论】:
-
这真的是你的结构吗?因为它与您的 last question 不同,后者是数组数组,而不是对象数组。
-
是的,它不同,因为我编辑了 XQuery 输出我的 JSON 的方式,以便我可以在这里实现我想要的。
标签: javascript arrays json