-4

以前に作成したオブジェクトに新しい属性を設定する方法を知りたいです。ループを試みましたが、うまくいきませんでした。この例では、オブジェクトは手動で設定されています。

var playlist = [    
{   
url : "07_All_The_Young_Dudes.mp3",
title : "All the young dudes"
},
{   
url : "burn.mp3",
title : "Burn"
},
] 

すみません、もっとよく説明します。私のシステムでは、人々が自分の音楽を公開できるようになっています。すべてはphpで行われます。しかし、私はJavaScriptを使用して、携帯電話でも音楽を再生できるようにしています。したがって、PHP で生成された 2 つの配列があります$url。JavaScript$titleで次のコードを実行しました。

var thestring = "<?php echo $url;?>"; var spliter = thestring.split('|'); var thestring2 = "<?php echo $title;?>"; var spliter2 = thestring2.split('|'); var i;
var url = [];
var title = [];
var playlist = [        
        {         
            url :'',
            title :''
        },
        ];

そして、このループを入れてください:

for(i =0; i < spliter.length;i++){              
    playlist.url[i] = spliter[i];
    playlist.title[i] = spliter2[i];    
}

残念ながら、このループはうまくいきません。

4

4 に答える 4

5

オブジェクトを配列に追加する場合は、これを行います。

playlist.push({   
    url : "07_All_The_Young_Dudes.mp3",
    title : "All the young dudes"
})

配列内のオブジェクトにプロパティを追加する場合は、インデックスでオブジェクトを選択し、次のように追加します。

playlist[0].newProperty = "new value";
于 2013-01-03T17:18:39.050 に答える
0

Javascript を使用すると、このように属性を動的に追加できます

previousCreatedObj.newAttr = [];

previousCreatedObj.another = 2

または、オブジェクトが配列である場合は、インデックスを追加するだけです。previousCreatedObj[0].yetAnother = 1

配列にアイテムを追加するには、プッシュを使用します

https://developer.mozilla.org/en-US/docs/JavaScript/Reference/Global_Objects/Array/push

于 2013-01-03T17:18:53.983 に答える
0
playList[0].favBeverage = "beer";
于 2013-01-03T17:19:35.263 に答える
0

すべての回答をありがとう、私はそれを自分で解決しました。私はループを次のように変更しました: そして、その vars を使用して、すべてを解決しました。for(i =0; i < spliter.length;i++){
url[i] = spliter[i]; title[i] = spliter2[i];
}

于 2013-01-05T15:00:09.747 に答える