我想知道如何为之前创建的对象设置新属性。 我尝试了循环,但没有奏效。 在此示例中,手动设置对象。
var playlist = [
{
url : "07_All_The_Young_Dudes.mp3",
title : "All the young dudes"
},
{
url : "burn.mp3",
title : "Burn"
},
]
对不起,我会解释得更好。我的系统允许人们发布他们的音乐。 Everthing是用PHP完成的。但是我正在使用javascript在手机中播放可能的播放音乐。因此,在PHP中生成了两个数组:$url
和$title
我在javascript中执行了以下代码:
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];
}
不幸的是,这种循环对我不起作用。
答案 0 :(得分:5)
如果您要将对象添加到数组,请执行此操作。
playlist.push({
url : "07_All_The_Young_Dudes.mp3",
title : "All the young dudes"
})
如果您想在Array中的对象中添加属性,请按索引选择对象,然后像这样添加。
playlist[0].newProperty = "new value";
答案 1 :(得分:0)
Javascript允许您动态添加属性,例如
previousCreatedObj.newAttr = [];
previousCreatedObj.another = 2
或者,如果你的对象是和数组只是添加一个索引。 previousCreatedObj[0].yetAnother = 1
要将项添加到数组,请使用push
https://developer.mozilla.org/en-US/docs/JavaScript/Reference/Global_Objects/Array/push
答案 2 :(得分:0)
playList[0].favBeverage = "beer";
答案 3 :(得分:0)
感谢您的所有答案,我自己解决了这个问题。
我修改了这样的循环:
for(i =0; i < spliter.length;i++){
然后我用了那些变种,解决了所有这些。
url[i] = spliter[i];
title[i] = spliter2[i];
}