【发布时间】:2020-06-24 10:25:22
【问题描述】:
我有一个包含如下数据的对象,
obj = {
Q1:['val1','val2'],
Q2:['val3','val4','val5'],
Q3:['val8']
}
我试图遍历键并获取每个键中的第一个元素连接每个数组中的每个元素,并使用, 将它们连接在一起(我的对象有更多的键)
所以输出应该是这样的
- val1,val3,val8
- val2,val4,
- ,val5,
我试图遍历键并获取每个值,但我认为我在循环中遗漏了一些东西,因为如果在每个对象中找到元素,我无法更改键
下面是我的试验。
for (var key in obj) {
if (obj.hasOwnProperty(key)) {
for (let i = 0; i < obj[key].length; i++) {
console.log(obj[key][i])//This is always looping on the same key but different element
}
}
}
虽然我希望它接近
for (var key in obj) {
if (obj.hasOwnProperty(key)) {
console.log(obj[key][i])
}
}
【问题讨论】:
-
能否请您详细说明您提到的输出描述?
-
我想连接每个数组中的每个元素,因为我应该得到 val1 concat val3 concat val8 ,然后我将在它们之间使用 , 进行字符串连接,以便生成 val1,val3,val8 。 ...并且每当它在此数组中找不到值时(因为并非所有数组都相等,它应该只放置空白并执行 a ,因此它变为 val2,val4,''
-
@user120242 这是关于等长数组,但不幸的是这不是我的情况
-
向下滚动。要模拟 zip,它还必须支持不等长数组。
-
或者你说的是cartesian?你的输出实际上没有意义。
标签: javascript node.js object concatenation