0

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}]
4

3 に答える 3

1

この行:

nyCourt.Title = OldArr[i] 

ループ内で繰り返しオブジェクト (配列オブジェクト)のTitleプロパティに書き込みます。nyCourt最後の割り当てが勝ちます。

しかし、あなたが出力したいと言ったことを考えると、コードは複雑すぎます。必要なループは 1 つだけです。

var nyCourt = [];
var oldArr = [Buy, String, Question];

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

実例(Chrome などの最新のものを使用) | ソース

または、これは Node であるため、以下があることがわかりますmap

var oldArr = [Buy, String, Question];
var nyCourt = oldArr.map(function(entry) {
    return {Title: entry};
});

実例| ソース

于 2013-10-30T08:34:22.957 に答える
1
//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);
于 2013-10-30T08:41:51.797 に答える