const fs = require('fs'); let keysToSortBy = ["accountPayables.updatedDate"]; let sortOrders = ["asc"]; let rawdata = fs.readFileSync('response_company_suppier.json'); let data = JSON.parse(rawdata); function compareObjects(a, b) { for (let i = 0; i < keysToSortBy.length; i++) { const key = keysToSortBy[i]; const sortOrder = sortOrders[i]; const valueA = getObjectValue(a, key); const valueB = getObjectValue(b, key); if (valueA === undefined && valueB !== undefined) { return sortOrder === 'asc' ? 1 : -1; } else if (valueA !== undefined && valueB === undefined) { return sortOrder === 'asc' ? -1 : 1; } else if (valueA === undefined && valueB === undefined) { return 0; // Move to the next key if both values are undefined } if (valueA < valueB) { return sortOrder === 'asc' ? -1 : 1; } else if (valueA > valueB) { return sortOrder === 'asc' ? 1 : -1; } } return 0; // Objects are equal } if (keysToSortBy.length > 0 && sortOrders.length > 0) { data.sort(compareObjects) } function getObjectValue(obj, stringKey) { const keys = stringKey.split('.'); let value = obj; for (let key of keys) { value = value[key]; if (value === undefined) { break; } } return value; } for(let d of data) { console.log(d.accountPayables.updatedDate) }