【发布时间】:2019-08-01 10:02:47
【问题描述】:
我有这个数组:
var arr = [scanner, monitor];
然后我有这些代码行,
var arr = ["scanner", "monitor"];
var newArr = [];
for ( var i = 0, l = arr.length; i < l; i++ ) {
newArr.push({"techName":[{"id":i,"name": "name"+i }]});
}
console.log(newArr);
生成这个对象:
[
{
"techName0": [
{
"id": 0,
"name": "name0"
}
]
},
{
"techName1": [
{
"id": 1,
"name": "name1"
}
]
}
]
我想用这样的数组创建一个对象:
{
"techName0": [{
"id": "0",
"name": "name0"
}],
"techName1": [{
"id": "1",
"name": "name1"
}]
}
【问题讨论】:
-
你不能在一个对象中多次使用同一个键。
-
您已经将
techName作为对象数组,那么为什么还要两个techName? (正如乌斯曼上面所说的那样,你不能这样做。) -
您所要求的毫无意义。如果您可以拥有两个名称相同但值不同的键,
newArr.techName会给您什么? -
@Barrosy 我认为这里不需要一个例子。已经有一个例子了。还有一个可重现的代码。但是期望是没有意义的。一个例子很好,如果它清楚问题是什么但不知道它发生在哪里,例如,
foo(1)产生4而不是2但没有foo的代码。 -
@Barrosy 不需要 snark - 我知道它代表什么。我是说这里没有意义 - 如果 OP did 有产生他们想要的东西的代码,(可重现的例子),那么他们 不会有问题 .如果他们有一些有问题的代码,那么这将起作用。他们确实有最少的、完整的、可验证的代码。却不为所欲为。他们如何提供涵盖所有这些参数的不同代码,并在不解决问题的情况下以某种方式澄清问题?
标签: javascript arrays json