如何在javascript对象上创建动态属性

时间:2013-01-03 17:15:15

标签: javascript object dynamic element

我想知道如何为之前创建的对象设置新属性。 我尝试了循环,但没有奏效。 在此示例中,手动设置对象。

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

不幸的是,这种循环对我不起作用。

4 个答案:

答案 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];
}
然后我用了那些变种,解决了所有这些。