-4

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

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

对不起,我会解释得更好。我的系统允许人们发布他们的音乐。一切都是用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

4 回答 4

5

如果您打算将对象添加到 Array,请执行此操作。

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

如果您打算将属性添加到 Array 中的对象,请按索引选择对象,然后像这样添加它。

playlist[0].newProperty = "new value";
于 2013-01-03T17:18:39.050 回答
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

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

谢谢大家的回答,我自己解决了。我修改了这样的循环: 然后我使用了那个变量,解决了这一切。for(i =0; i < spliter.length;i++){
url[i] = spliter[i]; title[i] = spliter2[i];
}

于 2013-01-05T15:00:09.747 回答