In PHP bouw ik makkelijk een array als volgt op:

<?php
$array=array();
$array['test'][]=array('key1'=>'value1','key2'=>'value2');
$array['test'][]=array('key1'=>'value1','key2'=>'value2');
$array['test2'][]=array('key1'=>'value1','key2'=>'value2');
$array['test3'][]=array('key1'=>'value1','key2'=>'value2');
?>

Maar ik vroeg me af hoe je dit in javascript doet. Of is het beter met objecten? Maar dan blijft m'n vraag.
In javascript kan dat ook. In javascript is een array overigens gewoon een object.

<?php

arr = { key1: 'value1', key2:'value2' };

alert(arr['key2']);

?>

Ook kun je met een JSON string werken:

<?php

// maak een JSON string
var str = '{"key1":"value1","key2":"value2"}';

//zet de string om in een object
var obj = eval('(' + str + ')');

alert(obj.key2);

?>
Het gaat er om dat de array multi dimensioneel wordt en volgens mij is dit nu niet het geval. Ik wil de data verzamelen per groep (in mijn geval test, test2, test3), deze vervolgens te sorteren en vervolgens te loopen.
Dat kan ook.

<?php

arr = {
test1: {
key1: 'value1',
key2: 'value2'
},
test2: {
key1: 'value1',
key2: 'value2'
}
};

alert( arr['test1']['key2'] );

?>
De array moet in een loop worden opgebouwd én meerdere keren dezelfde key kunnen hebben zodat de resultaten op basis van die key kunnen worden gesorteerd.
Javascript kent [] niet. Gebruik Array.prototype.push om waardes in een array te voegen:

[code lang=javascript]var myArray = [];
myArray.push('Hello');
myArray.push('World');

console.log(myArray); //> ['Hello', 'World'][/code]
Ik wil uiteindelijk het volgende voor elkaar krijgen:

<?php
arr = {
test1: {
0: {
title: 'value1',
},
1: {
title: 'value2',
}
},
test2: {
0: {
title: 'value1',
},
1: {
title: 'value2',
}
}
};
?>

Waarbij test1 en test2 variabel zijn.

Reageren