[英]Javascript/Node - Insertion of objects into array using for loop
我需要有关将数组元素作为对象插入Javascript中另一个数组的帮助。 我有以下代码:
tableLength = 3;
nyCourt = [];
oldArr = [Buy, String, Question]
for (var t = 0; t < tableLength; t++) {
nyCourt.push({});
for (var i = 0; i < OldArr.length; i++) {
nyCourt.Title = OldArr[i] ;
}
};
代码不起作用,我想以以下格式输出
[{Title:Buy },
{Title: String},
{Title: Question}]
但是我得到的输出是这样的:
[{Title:Question },
{Title: Question},
{Title: Question}]
这行:
nyCourt.Title = OldArr[i]
在循环中重复写入nyCourt
对象(这是一个数组对象)上的Title
属性。 最后一个任务获胜。
但是,鉴于您所说的那样,您的输出将变得过于复杂。 您只需要一个循环:
var nyCourt = [];
var oldArr = [Buy, String, Question];
for (var i = 0; i < oldArr.length; i++) {
nyCourt.push({Title: oldArr[i] });
}
或者因为这是Node,所以我们知道我们有map
:
var oldArr = [Buy, String, Question];
var nyCourt = oldArr.map(function(entry) {
return {Title: entry};
});
//this give the output you want
tableLength = 3;
nyCourt = [];
oldArr = ['Buy', 'String', 'Question'];
for (var t = 0; t < oldArr.length; t++) {
nyCourt.push({Title: oldArr[t]});
};
console.log(nyCourt);
将push函数放置在循环中也会像这样更改代码
for (var t = 0; t < tableLength; t++) {
for (var i = 0; i < OldArr.length; i++) {
nyCourt.push({"Title": oldArr[t]});
}
};
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.