0

ループしてこの配列から名前の値を取得しようとしていますが、できません..JavaScriptに本当にイライラしています

誰でもこれを行うために、そしてより複雑な配列のために私を助けて案内してください..私はこの例を示すのに良いチュートリアルを見つけることができないようです.

ありがとう、これがコードです

    var object={name:'angelos',name:'nick',name:'maria'};
    var i;
    for (i = 0; i < object.length; i += 1) {
        document.writeln(object[name][i]);
    }
4

5 に答える 5

6

これは配列ではなくオブジェクトです。代わりに単純な配列にすることができます:

var arr = ['angelos', 'nick', 'maria'];
for (var i = 0; i < arr.length; i++) {
    document.writeln(arr[i]);
}

または、配列内にオブジェクトが必要な場合 (すべてのオブジェクトにキーが 1 つしかない場合は必要ありません):

var arr = [{name: 'angelos'}, {name: 'nick'}, {name: 'maria'}];
for (var i = 0; i < arr.length; i++) {
    document.writeln(arr[i].name);
}
于 2012-08-01T14:48:41.450 に答える
3

まず、オブジェクトに重複したキーがありますname。これは貧弱なコードであり、strict モードではエラーがスローされます。

必要な効果を実装するために必要なコードがはるかに少ないため、for ... inループまたはここでも使用します。Array.forEach

配列を使用する必要があるようです:

var arr = ["nick", "maria", "chaz"];

arr.forEach(function (name) {
    document.writeln(name);
});

Array.forEach各インデックスを無名関数に渡す を使用できます。

または、各人を次のようにしたい場合Object:

var people = [{name: 'chaz', title: 'mr'}, {name: 'nick', title: 'mr'}, {name: 'maria',title: 'ms'}];

for (i in people) {
    if (!people.hasOwnProperty(i)) { continue; }

    var person = people[i];
    document.writeln(person.name);
}

参考文献

于 2012-08-01T14:49:47.710 に答える
2

データを配列に入れて、名前属性を含むオブジェクトで埋めることができます(必要に応じて、アドレスなどの他のオブジェクトも入力できます)。

http://jsfiddle.net/5NK6x/

var obj=[{name:'angelos'}, {name:'nick'}, {name:'maria'}],
    i;
for (i = 0; i < obj.length; i += 1) {
    document.write(' ' + obj[i]['name']);
}​
于 2012-08-01T14:55:09.897 に答える
2

まず、これは配列ではなくオブジェクトです。おそらく、オブジェクトの配列を持つつもりでした。私が言っているのは、すべて と呼ばれる 3 つのキーがあるからですname。キーは一意である必要があります。このような:

var people = [{name: 'angelos'}, {name:'nick'}, {name:'maria'}];

その場合、次のようにループします。

for (var i = 0; i < people.length; i++) {
    document.writeln(people[i].name);
}

例: http://jsfiddle.net/lbstr/cMqaH/

于 2012-08-01T14:53:06.830 に答える
0

これは、配列とJSONの組み合わせです。データが次のようになっている場合:

var object = [{"name":"angelos"},{"name":"nick"},{"name":"maria"}];

次のような要素にアクセスできます。

for(var i=0,i<object.length,i++)
{
    alert(object[i].name);
 }
于 2012-08-01T14:56:10.640 に答える