I am passing the posts result of a query to JS so it can render the data in a select. Before I send out the result like this:
return new \WP_REST_Response( $return_data, 200 );
I checked the array in PHP an it yields the following, which is fine (sorted by name)
array(8) {
[1489]=>
string(3) "Gus"
[1499]=>
string(3) "Mia"
[1479]=>
string(4) "Odin"
[1488]=>
string(5) "Pablo"
[1490]=>
string(8) "Salvator"
[1491]=>
string(6) "Scooby"
[1492]=>
string(5) "Snowy"
[1485]=>
string(6) "Wesley"
}
In my JS, I have the following code:
this.request = $.ajax({
url: `${homeURL}/wp-json/mdr/v1/${animalType}`,
type: 'get',
dataType: 'json',
success: function (result) {
console.log(result);
Which prints the following:
Object {
1479: "Odin",
1485: "Wesley",
1488: "Pablo",
1489: "Gus",
1490: "Salvator",
1491: "Scooby",
1492: "Snowy",
1499: "Mia"
}
Why is the array converted to an object sorted by the ID instead of the order that I passed it from PHP?