2012-01-15 3 views
1

Je dois créer dynamiquement un tableau basé sur une plage. J'ai une variable req_count. Mon tableau doit toujours avoir les 6 premiers points comme null, puis les points variables comme { "sType": "title-string" }. Pour une raison quelconque, mon code ci-dessous ne semble pas fonctionner. Des idées?Comment créer dynamiquement un tableau avec Javascript?

Javascript:

var aoColumns = ['null', 'null', 'null', 'null', 'null', 'null'] 

for (i=0;i<=req_count;i++){ 

    aoColumns.push('{ "sType": "title-string" }'); 

} 

Donc, si req_count = 5, le résultat devrait être:

[ 
    null, 
    null, 
    null, 
    null, 
    null, 
    null,         
    { "sType": "title-string" }, 
    { "sType": "title-string" }, 
    { "sType": "title-string" }, 
    { "sType": "title-string" }, 
    { "sType": "title-string" } 
], 
+0

Que fait-il? – HBP

Répondre

5

Vous pousser des chaînes, pas des objets:

Changer

for (i=0;i<=req_count;i++){ 
    aoColumns.push('{ "sType": "title-string" }'); 
} 

à

for (i=0;i<=req_count;i++){ 
    aoColumns.push({ "sType": "title-string" }); 
} 

va de même pour vos valeurs nulles initiales. Vous poussez la chaîne "null" au lieu de null réel.

changement

var aoColumns = ['null', 'null', 'null', 'null', 'null', 'null'] 

à

var aoColumns = [null, null, null, null, null, null]; 
1

chaîne n'est pas le seul type en javascript;). 'null' devrait être null et

aoColumns.push('{ "sType": "title-string" }');

devrait être

aoColumns.push({ "sType": "title-string" });

2
var aoColumns = ['null', 'null', 'null', 'null', 'null', 'null'] 

devrait être

var aoColumns = [null, null, null, null, null, null] 

et

aoColumns.push('{ "sType": "title-string" }'); 

devrait être

aoColumns.push({ "sType": "title-string" }); 
1

Retirez les citations de l'intérieur du bouton ... Poussez des objets réels en elle, et non pas des chaînes.

Par exemple:

aoColumns.push({ "sType": "title-string" }); 

Au lieu de

aoColumns.push('{ "sType": "title-string" }'); 
Questions connexes