0

私は .php 多次元配列と foreach ループ ( http://tutorialzine.com/2010/03/sponsor-wall-flip-jquery-にある「Sponsor Flip Wall」jQuery の例で使用されているもの) を書き直そうとしています。 css/ ) を JSON/JavaScript で記述します。残念ながら、私が使用せざるを得ない Web ホストは PHP をサポートしていません。

配列はもともと次のように見えました。

$sponsors = array(
array('facebook','The biggest social network in the world.','http://www.facebook.com/'),
array('adobe','The leading software developer targeted at web designers and developers.','http://www.adobe.com/'),
array('microsoft','One of the top software companies of the world.','http://www.microsoft.com/')
);

そして、私は今、次のものを持っています:

var sponsors = [
    { "name": "facebook", "description": "The biggest social network in the world.", "website": "http://www.facebook.com/" },
    { "name": "adobe", "description": "The leading software developer targeted at web designers and developers.", "website": "http://www.adobe.com/" },
    { "name": "microsoft", "description": "One of the top software companies of the world.", "website": "http://www.microsoft.com/" },
];

しかし、JavaScript には直接的な比較があるとは思えないので、foreach ループには困惑しています。調査の結果、jQuery $.eachを使用するか、for ループ内で for ループを使用する必要があるようです。

JSON構造を反復処理するにはどうすればよいですか?への回答を見ていました。しかし、それらの配列には、オブジェクトとキーの 2 つの値しか含まれていないようです。私はオブジェクトごとに複数のフィールドを持っているので、完全には当てはまらないと思いますか? または、もしそうなら、それを拡張する方法がわかりませんか?

再作成しようとしている .php foreach ループ:

foreach($sponsors as $company)
    {
        echo $company[0] . ":" . $company[1] . "(" . $company[2] . ")"; //eg.
    }

何か案は?(可能であれば、jQuery ではなく、純粋に JavaScript で回答を作成したいと思います)

4

5 に答える 5

1
for( var i = 0; i < sponsors.length; i++) {
    var sponsor = sponsors[i];
    console.log(sponsor.name);
}

データのキー名を知っていれば、標準の for ループを使用してもうまくいきます。

于 2013-06-11T11:21:23.633 に答える
0

この質問を見て、ここで答えてください。あなたが求めているものと非常によく似ています。

「for each」ループに代わる JavaScript

于 2013-06-11T11:25:47.540 に答える
0

これを試すことができます

for( var i = 0; i < sponsors.length; i++) {
    var sponsor = sponsors[i];
    document.writeln(sponsor.name + ":" + sponsor.description + "(" + sponsor.website + ")");        
}
于 2013-06-11T11:25:51.327 に答える