Javascript / Node – 使用for循环将对象插入到数组中

我需要关于将数组元素作为对象插入到另一个数组中的帮助。 我有以下代码:

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] }); } 

现场示例 (使用Chrome或其他现代的东西)| 资源

或者,因为这是节点,所以我们知道我们有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); 

在循环内部推入函数也是这样改变代码的

 for (var t = 0; t < tableLength; t++) { for (var i = 0; i < OldArr.length; i++) { nyCourt.push({"Title": oldArr[t]}); } };