JSFiddle - React, Tailwind, and code Playground
by jfriend00
HTML
<pre id="output"></pre>
JavaScript
function iterateObject(item, callback) {
if (typeof item === "object" && item !== null) {
if (item instanceof Array) {
for (var i = 0; i < item.length; i++) {
item[i] = iterateObject(item[i], callback);
}
} else {
for (var prop in item) {
if (item.hasOwnProperty(prop)) {
item[prop] = iterateObject(item[prop], callback);
}
}
}
} else {
// call the callback on any item that is not an array or object
return callback(item);
}
return item;
}
var data = {
"status": "SUCCESS",
"status_message": "Susscessfully queried details.",
"total_records": 2,
"m_details":
[
{
"p_id": 1023,
"pname": "india",
"states":
[
{
"state": "karnataka",
"capital": "bangalore"
},
{
"state": "california",
"capital": "sacramento"
},
{
"state": "arizona",
"capital": "phoenix"
},
{
"state": "florida",
"capital": "tallahassee",
}
]
},
{
"p_id": 1023,
"pname": "india",
"states":
[
{
"state": null,
"capital": null
},
{
"state": "Tamilnadu",
"capital": "chennai"
}
]
}
]
};
// iterate through the object and convert all `null` values to `"-"`
iterateObject(data, function(item) {
return (item === null) ? "-" : item;
});
function sortStates(item) {
var array = item.m_details;
for (var i = 0; i < array.length; i++) {
array[i].states.sort(function(a, b) {
...