Javascript/Node - 使用 for 循环将对象插入数组

Javascript/Node - Insertion of objects into array using for loop

本文关键字:对象 插入 数组 循环 for Node 使用 Javascript      更新时间:2023-09-26

我需要有关在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] });
}

现场示例(使用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]});
            }
    };