【发布时间】:2018-11-04 11:40:09
【问题描述】:
我有两个数组名和标记
我正在尝试将两个数组合并为一个对象,以便以后可以迭代。 就像有一个两列的表,第一个来自 API 的返回名称,如 A、b、c、d 等,第二个返回标记,如 40、50、55、60 等。 收到后,我试图将其作为一个可迭代对象
finalOutput = [
0: {
A : 45
}
1: {
B: 55
}
2: {
C: 60
}
and so on...
]
我正在尝试采用以下方法,这不是一个完整的解决方案。你能建议我应该采取什么方法吗?
var name = ['A', 'B', 'C', 'D', 'E', 'F', 'G', 'I'];
var tName = name.split(',');
var mark = ['45', '55', '60', '65', '70', '75', '80', '85'];
var nameObj = Object.assign({}, tName );
console.log(nameObj);
var tMark = Object.assign({}, mark);
var finalOutput = [].concat(tName, tMark);
console.log('finalOutput', finalOutput);
【问题讨论】:
-
我正在尝试将名称的值映射到标记的值。任何解决方案都可以。
-
两个数组
name and mark是否总是等长 -
name.split(',')应该是不可能的 - 你不能在数组上调用.split(...)。 -
另外,
finalOutput的结构也无效。你展示了一个包含如下键值对的数组:[0: {A: 45} 1: {B: 55} ...],这是不可能的(而且还缺少逗号)。你可以以这样的数组结尾:[{A: 45}, {B: 55}, {C: 60}, ...]或这样的对象:{A: 45, B: 55, C: 60,...}- 你的目标是什么?
标签: javascript arrays