给定这两个数组:
[ {
"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”?如果我执行 record[3].length ,则如预期的那样,对于第二个,我得到“2”,尽管我得到第一个的字符串长度,即,如果第三个位置只有一个项目。
我需要这样做:
result.forEach(function (record) {
record[3] = record[3].join('')
})
如果记录[3]只有一项,则不起作用,所以我想添加一个“如果记录[3]包含多个项目,则执行.join,否则通过”。如果我这样做
if record[3].length > 2
它还捕获仅包含三个或四个字符的单个字符串,这当然是我不想要的。
最佳答案
您可以检查第三项是否是数组。如果是,则进行连接。如果没有,请跳过它。
result.forEach(function (record) {
if (Array.isArray(record[3])) {
record[3] = record[3].join('');
}
});
关于javascript - 获取数组的子项数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/60876037/