[英]how to sort deep nested object by value?
I am trying to sort hospitals array by lowest amount amountinINR
key but I am stuck to sort deep nested Object array
of the hospital.Any buddy has knowledge how to sort without any third party library like lodash or underscore. 我正在尝试按最低金额amountinINR
键对医院数组进行排序,但是我被困在对医院的深层嵌套Object array
进行排序的过程中。
Here is my JSON
object. 这是我的JSON
对象。 and I am trying to solve like this 我正在尝试这样解决
// My first attempt
for (let i = 0; i < result.length; i++) {
for (let j = 0; j < result[i].procedure.length; j++) {
for (let k = 0; k < result[i].procedure[j].hospital.length; k++) {
if (k === 0 || k === 1 || k === 2) {
result[i].procedure[j].hospital[k].amountinDoller = `<b> ${hospitalDol.amountinDoller || 'N/A'} </b>`;
result[i].procedure[j].hospital[k].amountinINR = `<b>${hospitalInr[k].amountinINR || 'N/A'} </b>`
}
}
}
}
---------------------------------------------------------------------------------------
// here i am using map() native method of javascript
** my Second Attempt**
result.map((category,index) => {
return category.procedure.map((procedures,index) => {
return procedures.hospital.sort((a,b) => { return a.amountinINR - b.amountinINR});
})
});
// JSON Object
let result = [{
"_id": "58711a64546a7b5bf2d07b4d",
"procedure": [{
"_id": "58711aa8546a7b5bf2d07b4e",
"hospital": [{
"_id": "5872209951716427b860351d",
"procedureId": "58711aa8546a7b5bf2d07b4e",
"amountinINR": 310020,
"amountinDoller": 7000,
"hospitalId": "5870eb66423c3231d4a19eb6",
"categoryId": "58711a64546a7b5bf2d07b4d",
"__v": 0
}, {
"_id": "587237fa51716427b860357a",
"procedureId": "58711aa8546a7b5bf2d07b4e",
"amountinINR": 385440,
"amountinDoller": 7300,
"hospitalId": "5870e89a3fd9ac2e3aaee967",
"categoryId": "58711a64546a7b5bf2d07b4d",
"__v": 0
}, {
"_id": "58728cb751716427b8603604",
"procedureId": "58711aa8546a7b5bf2d07b4e",
"amountinINR": 488500,
"amountinDoller": 7400,
"hospitalId": "5870ec605c3f3f3806171ed6",
"categoryId": "58711a64546a7b5bf2d07b4d",
"__v": 0
}, {
"_id": "5872450c51716427b86035e0",
"procedureId": "58711aa8546a7b5bf2d07b4e",
"amountinINR": 351780,
"amountinDoller": 8200,
"hospitalId": "5870eefd8b40563f0e15115e",
"categoryId": "58711a64546a7b5bf2d07b4d",
"__v": 0
}, {
"_id": "5872125e51716427b86034f6",
"procedureId": "58711aa8546a7b5bf2d07b4e",
"amountinINR": 368511,
"amountinDoller": 8590,
"hospitalId": "5870f66c5a8cbc4ac19afa7e",
"categoryId": "58711a64546a7b5bf2d07b4d",
"__v": 0
}, {
"_id": "587125b451716427b8603476",
"procedureId": "58711aa8546a7b5bf2d07b4e",
"amountinINR": 480480,
"amountinDoller": 9100,
"hospitalId": "5870f2afb4255844bf0c2a10",
"categoryId": "58711a64546a7b5bf2d07b4d",
"__v": 0
}, {
"_id": "58713aa151716427b860349e",
"procedureId": "58711aa8546a7b5bf2d07b4e",
"amountinINR": 407550,
"amountinDoller": 9500,
"hospitalId": "5870edf92f3a483c2098b714",
"categoryId": "58711a64546a7b5bf2d07b4d",
"__v": 0
}],
"procedures": {
"_id": "58711aa8546a7b5bf2d07b4e",
"name": "Breast Conservative surgery",
"categoryId": "58711a64546a7b5bf2d07b4d",
"status": true,
"createdAt": "2017-01-07T16:43:20.888Z",
"__v": 0
}
}, {
"_id": "58711b8d546a7b5bf2d07b52",
"hospital": [{
"_id": "58728d4551716427b8603608",
"procedureId": "58711b8d546a7b5bf2d07b52",
"amountinINR": 198000,
"amountinDoller": 3000,
"hospitalId": "5870ec605c3f3f3806171ed6",
"categoryId": "58711a64546a7b5bf2d07b4d",
"__v": 0
}, {
"_id": "5872213651716427b8603521",
"procedureId": "58711b8d546a7b5bf2d07b52",
"amountinINR": 141800,
"amountinDoller": 3300,
"hospitalId": "5870eb66423c3231d4a19eb6",
"categoryId": "58711a64546a7b5bf2d07b4d",
"__v": 0
}, {
"_id": "587212fb51716427b86034fa",
"procedureId": "58711b8d546a7b5bf2d07b52",
"amountinINR": 143715,
"amountinDoller": 3350,
"hospitalId": "5870f66c5a8cbc4ac19afa7e",
"categoryId": "58711a64546a7b5bf2d07b4d",
"__v": 0
}, {
"_id": "5871268551716427b860347a",
"procedureId": "58711b8d546a7b5bf2d07b52",
"amountinINR": 174240,
"amountinDoller": 3390,
"hospitalId": "5870f2afb4255844bf0c2a10",
"categoryId": "58711a64546a7b5bf2d07b4d",
"__v": 0
}, {
"_id": "5872388551716427b860357e",
"procedureId": "58711b8d546a7b5bf2d07b52",
"amountinINR": 179520,
"amountinDoller": 3400,
"hospitalId": "5870e89a3fd9ac2e3aaee967",
"categoryId": "58711a64546a7b5bf2d07b4d",
"__v": 0
}, {
"_id": "587245a951716427b86035e7",
"procedureId": "58711b8d546a7b5bf2d07b52",
"amountinINR": 150150,
"amountinDoller": 3500,
"hospitalId": "5870eefd8b40563f0e15115e",
"categoryId": "58711a64546a7b5bf2d07b4d",
"__v": 0
}, {
"_id": "58713b3c51716427b86034a2",
"procedureId": "58711b8d546a7b5bf2d07b52",
"amountinINR": 163020,
"amountinDoller": 3800,
"hospitalId": "5870edf92f3a483c2098b714",
"categoryId": "58711a64546a7b5bf2d07b4d",
"__v": 0
}],
"procedures": {
"_id": "58711b8d546a7b5bf2d07b52",
"name": "Hysterectomy + Laparotomy",
"categoryId": "58711a64546a7b5bf2d07b4d",
"status": true,
"createdAt": "2017-01-07T16:47:09.982Z",
"__v": 0
}
}, {
"_id": "58711b4a546a7b5bf2d07b51",
"hospital": [{
"_id": "58728d2651716427b8603607",
"procedureId": "58711b4a546a7b5bf2d07b51",
"amountinINR": 349900,
"amountinDoller": 5300,
"hospitalId": "5870ec605c3f3f3806171ed6",
"categoryId": "58711a64546a7b5bf2d07b4d",
"__v": 0
}, {
"_id": "58713b1b51716427b86034a1",
"procedureId": "58711b4a546a7b5bf2d07b51",
"amountinINR": 235950,
"amountinDoller": 5500,
"hospitalId": "5870edf92f3a483c2098b714",
"categoryId": "58711a64546a7b5bf2d07b4d",
"__v": 0
}, {
"_id": "5872210451716427b8603520",
"procedureId": "58711b4a546a7b5bf2d07b51",
"amountinINR": 240000,
"amountinDoller": 5600,
"hospitalId": "5870eb66423c3231d4a19eb6",
"categoryId": "58711a64546a7b5bf2d07b4d",
"__v": 0
}, {
"_id": "5872386551716427b860357d",
"procedureId": "58711b4a546a7b5bf2d07b51",
"amountinINR": 311520,
"amountinDoller": 5900,
"hospitalId": "5870e89a3fd9ac2e3aaee967",
"categoryId": "58711a64546a7b5bf2d07b4d",
"__v": 0
}, {
"_id": "5872457f51716427b86035e6",
"procedureId": "58711b4a546a7b5bf2d07b51",
"amountinINR": 253110,
"amountinDoller": 5900,
"hospitalId": "5870eefd8b40563f0e15115e",
"categoryId": "58711a64546a7b5bf2d07b4d",
"__v": 0
}, {
"_id": "5871264a51716427b8603479",
"procedureId": "58711b4a546a7b5bf2d07b51",
"amountinINR": 327360,
"amountinDoller": 6200,
"hospitalId": "5870f2afb4255844bf0c2a10",
"categoryId": "58711a64546a7b5bf2d07b4d",
"__v": 0
}, {
"_id": "587212d051716427b86034f9",
"procedureId": "58711b4a546a7b5bf2d07b51",
"amountinINR": 277563,
"amountinDoller": 6470,
"hospitalId": "5870f66c5a8cbc4ac19afa7e",
"categoryId": "58711a64546a7b5bf2d07b4d",
"__v": 0
}],
"procedures": {
"_id": "58711b4a546a7b5bf2d07b51",
"name": "Modified Neck Dissection- MND",
"categoryId": "58711a64546a7b5bf2d07b4d",
"status": true,
"createdAt": "2017-01-07T16:46:02.044Z",
"__v": 0
}
}, {
"_id": "58711b05546a7b5bf2d07b4f",
"hospital": [{
"_id": "58713ac151716427b860349f",
"procedureId": "58711b05546a7b5bf2d07b4f",
"amountinINR": 235950,
"amountinDoller": 5500,
"hospitalId": "5870edf92f3a483c2098b714",
"categoryId": "58711a64546a7b5bf2d07b4d",
"__v": 0
}, {
"_id": "5872381951716427b860357b",
"procedureId": "58711b05546a7b5bf2d07b4f",
"amountinINR": 438240,
"amountinDoller": 8300,
"hospitalId": "5870e89a3fd9ac2e3aaee967",
"categoryId": "58711a64546a7b5bf2d07b4d",
"__v": 0
}, {
"_id": "587220f051716427b860351f",
"procedureId": "58711b05546a7b5bf2d07b4f",
"amountinINR": 368900,
"amountinDoller": 8600,
"hospitalId": "5870eb66423c3231d4a19eb6",
"categoryId": "58711a64546a7b5bf2d07b4d",
"__v": 0
}, {
"_id": "58728cde51716427b8603605",
"procedureId": "58711b05546a7b5bf2d07b4f",
"amountinINR": 587500,
"amountinDoller": 8900,
"hospitalId": "5870ec605c3f3f3806171ed6",
"categoryId": "58711a64546a7b5bf2d07b4d",
"__v": 0
}, {
"_id": "587125d951716427b8603477",
"procedureId": "58711b05546a7b5bf2d07b4f",
"amountinINR": 475200,
"amountinDoller": 9000,
"hospitalId": "5870f2afb4255844bf0c2a10",
"categoryId": "58711a64546a7b5bf2d07b4d",
"__v": 0
}, {
"_id": "5872127d51716427b86034f7",
"procedureId": "58711b05546a7b5bf2d07b4f",
"amountinINR": 398112,
"amountinDoller": 9280,
"hospitalId": "5870f66c5a8cbc4ac19afa7e",
"categoryId": "58711a64546a7b5bf2d07b4d",
"__v": 0
}, {
"_id": "5872452951716427b86035e2",
"procedureId": "58711b05546a7b5bf2d07b4f",
"amountinINR": 407550,
"amountinDoller": 9500,
"hospitalId": "5870eefd8b40563f0e15115e",
"categoryId": "58711a64546a7b5bf2d07b4d",
"__v": 0
}],
"procedures": {
"_id": "58711b05546a7b5bf2d07b4f",
"name": "Prophylactic Mastectomy",
"categoryId": "58711a64546a7b5bf2d07b4d",
"status": true,
"createdAt": "2017-01-07T16:44:53.289Z",
"__v": 0
}
}, {
"_id": "58711b36546a7b5bf2d07b50",
"hospital": [{
"_id": "587220b351716427b860351e",
"procedureId": "58711b36546a7b5bf2d07b50",
"amountinINR": 257500,
"amountinDoller": 6000,
"hospitalId": "5870eb66423c3231d4a19eb6",
"categoryId": "58711a64546a7b5bf2d07b4d",
"__v": 0
}, {
"_id": "5872455951716427b86035e3",
"procedureId": "58711b36546a7b5bf2d07b50",
"amountinINR": 270270,
"amountinDoller": 6300,
"hospitalId": "5870eefd8b40563f0e15115e",
"categoryId": "58711a64546a7b5bf2d07b4d",
"__v": 0
}, {
"_id": "58713af551716427b86034a0",
"procedureId": "58711b36546a7b5bf2d07b50",
"amountinINR": 287430,
"amountinDoller": 6700,
"hospitalId": "5870edf92f3a483c2098b714",
"categoryId": "58711a64546a7b5bf2d07b4d",
"__v": 0
}, {
"_id": "5872384051716427b860357c",
"procedureId": "58711b36546a7b5bf2d07b50",
"amountinINR": 369600,
"amountinDoller": 7000,
"hospitalId": "5870e89a3fd9ac2e3aaee967",
"categoryId": "58711a64546a7b5bf2d07b4d",
"__v": 0
}, {
"_id": "587212b551716427b86034f8",
"procedureId": "58711b36546a7b5bf2d07b50",
"amountinINR": 304590,
"amountinDoller": 7100,
"hospitalId": "5870f66c5a8cbc4ac19afa7e",
"categoryId": "58711a64546a7b5bf2d07b4d",
"__v": 0
}, {
"_id": "58728cfe51716427b8603606",
"procedureId": "58711b36546a7b5bf2d07b50",
"amountinINR": 481900,
"amountinDoller": 7300,
"hospitalId": "5870ec605c3f3f3806171ed6",
"categoryId": "58711a64546a7b5bf2d07b4d",
"__v": 0
}, {
"_id": "5871261f51716427b8603478",
"procedureId": "58711b36546a7b5bf2d07b50",
"amountinINR": 396000,
"amountinDoller": 7500,
"hospitalId": "5870f2afb4255844bf0c2a10",
"categoryId": "58711a64546a7b5bf2d07b4d",
"__v": 0
}],
"procedures": {
"_id": "58711b36546a7b5bf2d07b50",
"name": "Total Thyroidectomy",
"categoryId": "58711a64546a7b5bf2d07b4d",
"status": true,
"createdAt": "2017-01-07T16:45:42.094Z",
"__v": 0
}
}],
"category": [{
"_id": "58711a64546a7b5bf2d07b4d",
"name": "Cancer Surgeries",
"status": true,
"createdAt": "2017-01-07T16:42:12.696Z",
"__v": 0
}]
}]
I want to sort hospital by lowest amountinINR
value and return same JSON
object with sorted hospital inside. 我想按最低的amountinINR
值对医院进行排序,并返回内部已排序医院的相同JSON
对象。 Please, can anyone help me how I achieve by optimized code? 请,有人可以帮助我如何通过优化的代码实现目标吗?
基本上,cou可以使用Array#sort
对result
每个数组进行Array#sort
并使用Array#forEach
进行迭代,因为您的映射不会返回任何内容。
result.forEach(r => r.procedure.forEach(p => p.hospital.sort((a, b) => a.amountinINR - b.amountinINR)));
Basically the same answer as Nina Scholz
s, but using an older method. 答案与Nina Scholz
基本相同,但使用的是旧方法。
var results = [{ "_id": "58711a64546a7b5bf2d07b4d", "procedure": [{ "_id": "58711aa8546a7b5bf2d07b4e", "hospital": [{ "_id": "5872209951716427b860351d", "procedureId": "58711aa8546a7b5bf2d07b4e", "amountinINR": 310020, "amountinDoller": 7000, "hospitalId": "5870eb66423c3231d4a19eb6", "categoryId": "58711a64546a7b5bf2d07b4d", "__v": 0 }, { "_id": "587237fa51716427b860357a", "procedureId": "58711aa8546a7b5bf2d07b4e", "amountinINR": 385440, "amountinDoller": 7300, "hospitalId": "5870e89a3fd9ac2e3aaee967", "categoryId": "58711a64546a7b5bf2d07b4d", "__v": 0 }, { "_id": "58728cb751716427b8603604", "procedureId": "58711aa8546a7b5bf2d07b4e", "amountinINR": 488500, "amountinDoller": 7400, "hospitalId": "5870ec605c3f3f3806171ed6", "categoryId": "58711a64546a7b5bf2d07b4d", "__v": 0 }, { "_id": "5872450c51716427b86035e0", "procedureId": "58711aa8546a7b5bf2d07b4e", "amountinINR": 351780, "amountinDoller": 8200, "hospitalId": "5870eefd8b40563f0e15115e", "categoryId": "58711a64546a7b5bf2d07b4d", "__v": 0 }, { "_id": "5872125e51716427b86034f6", "procedureId": "58711aa8546a7b5bf2d07b4e", "amountinINR": 368511, "amountinDoller": 8590, "hospitalId": "5870f66c5a8cbc4ac19afa7e", "categoryId": "58711a64546a7b5bf2d07b4d", "__v": 0 }, { "_id": "587125b451716427b8603476", "procedureId": "58711aa8546a7b5bf2d07b4e", "amountinINR": 480480, "amountinDoller": 9100, "hospitalId": "5870f2afb4255844bf0c2a10", "categoryId": "58711a64546a7b5bf2d07b4d", "__v": 0 }, { "_id": "58713aa151716427b860349e", "procedureId": "58711aa8546a7b5bf2d07b4e", "amountinINR": 407550, "amountinDoller": 9500, "hospitalId": "5870edf92f3a483c2098b714", "categoryId": "58711a64546a7b5bf2d07b4d", "__v": 0 }], "procedures": { "_id": "58711aa8546a7b5bf2d07b4e", "name": "Breast Conservative surgery", "categoryId": "58711a64546a7b5bf2d07b4d", "status": true, "createdAt": "2017-01-07T16:43:20.888Z", "__v": 0 } }, { "_id": "58711b8d546a7b5bf2d07b52", "hospital": [{ "_id": "58728d4551716427b8603608", "procedureId": "58711b8d546a7b5bf2d07b52", "amountinINR": 198000, "amountinDoller": 3000, "hospitalId": "5870ec605c3f3f3806171ed6", "categoryId": "58711a64546a7b5bf2d07b4d", "__v": 0 }, { "_id": "5872213651716427b8603521", "procedureId": "58711b8d546a7b5bf2d07b52", "amountinINR": 141800, "amountinDoller": 3300, "hospitalId": "5870eb66423c3231d4a19eb6", "categoryId": "58711a64546a7b5bf2d07b4d", "__v": 0 }, { "_id": "587212fb51716427b86034fa", "procedureId": "58711b8d546a7b5bf2d07b52", "amountinINR": 143715, "amountinDoller": 3350, "hospitalId": "5870f66c5a8cbc4ac19afa7e", "categoryId": "58711a64546a7b5bf2d07b4d", "__v": 0 }, { "_id": "5871268551716427b860347a", "procedureId": "58711b8d546a7b5bf2d07b52", "amountinINR": 174240, "amountinDoller": 3390, "hospitalId": "5870f2afb4255844bf0c2a10", "categoryId": "58711a64546a7b5bf2d07b4d", "__v": 0 }, { "_id": "5872388551716427b860357e", "procedureId": "58711b8d546a7b5bf2d07b52", "amountinINR": 179520, "amountinDoller": 3400, "hospitalId": "5870e89a3fd9ac2e3aaee967", "categoryId": "58711a64546a7b5bf2d07b4d", "__v": 0 }, { "_id": "587245a951716427b86035e7", "procedureId": "58711b8d546a7b5bf2d07b52", "amountinINR": 150150, "amountinDoller": 3500, "hospitalId": "5870eefd8b40563f0e15115e", "categoryId": "58711a64546a7b5bf2d07b4d", "__v": 0 }, { "_id": "58713b3c51716427b86034a2", "procedureId": "58711b8d546a7b5bf2d07b52", "amountinINR": 163020, "amountinDoller": 3800, "hospitalId": "5870edf92f3a483c2098b714", "categoryId": "58711a64546a7b5bf2d07b4d", "__v": 0 }], "procedures": { "_id": "58711b8d546a7b5bf2d07b52", "name": "Hysterectomy + Laparotomy", "categoryId": "58711a64546a7b5bf2d07b4d", "status": true, "createdAt": "2017-01-07T16:47:09.982Z", "__v": 0 } }, { "_id": "58711b4a546a7b5bf2d07b51", "hospital": [{ "_id": "58728d2651716427b8603607", "procedureId": "58711b4a546a7b5bf2d07b51", "amountinINR": 349900, "amountinDoller": 5300, "hospitalId": "5870ec605c3f3f3806171ed6", "categoryId": "58711a64546a7b5bf2d07b4d", "__v": 0 }, { "_id": "58713b1b51716427b86034a1", "procedureId": "58711b4a546a7b5bf2d07b51", "amountinINR": 235950, "amountinDoller": 5500, "hospitalId": "5870edf92f3a483c2098b714", "categoryId": "58711a64546a7b5bf2d07b4d", "__v": 0 }, { "_id": "5872210451716427b8603520", "procedureId": "58711b4a546a7b5bf2d07b51", "amountinINR": 240000, "amountinDoller": 5600, "hospitalId": "5870eb66423c3231d4a19eb6", "categoryId": "58711a64546a7b5bf2d07b4d", "__v": 0 }, { "_id": "5872386551716427b860357d", "procedureId": "58711b4a546a7b5bf2d07b51", "amountinINR": 311520, "amountinDoller": 5900, "hospitalId": "5870e89a3fd9ac2e3aaee967", "categoryId": "58711a64546a7b5bf2d07b4d", "__v": 0 }, { "_id": "5872457f51716427b86035e6", "procedureId": "58711b4a546a7b5bf2d07b51", "amountinINR": 253110, "amountinDoller": 5900, "hospitalId": "5870eefd8b40563f0e15115e", "categoryId": "58711a64546a7b5bf2d07b4d", "__v": 0 }, { "_id": "5871264a51716427b8603479", "procedureId": "58711b4a546a7b5bf2d07b51", "amountinINR": 327360, "amountinDoller": 6200, "hospitalId": "5870f2afb4255844bf0c2a10", "categoryId": "58711a64546a7b5bf2d07b4d", "__v": 0 }, { "_id": "587212d051716427b86034f9", "procedureId": "58711b4a546a7b5bf2d07b51", "amountinINR": 277563, "amountinDoller": 6470, "hospitalId": "5870f66c5a8cbc4ac19afa7e", "categoryId": "58711a64546a7b5bf2d07b4d", "__v": 0 }], "procedures": { "_id": "58711b4a546a7b5bf2d07b51", "name": "Modified Neck Dissection- MND", "categoryId": "58711a64546a7b5bf2d07b4d", "status": true, "createdAt": "2017-01-07T16:46:02.044Z", "__v": 0 } }, { "_id": "58711b05546a7b5bf2d07b4f", "hospital": [{ "_id": "58713ac151716427b860349f", "procedureId": "58711b05546a7b5bf2d07b4f", "amountinINR": 235950, "amountinDoller": 5500, "hospitalId": "5870edf92f3a483c2098b714", "categoryId": "58711a64546a7b5bf2d07b4d", "__v": 0 }, { "_id": "5872381951716427b860357b", "procedureId": "58711b05546a7b5bf2d07b4f", "amountinINR": 438240, "amountinDoller": 8300, "hospitalId": "5870e89a3fd9ac2e3aaee967", "categoryId": "58711a64546a7b5bf2d07b4d", "__v": 0 }, { "_id": "587220f051716427b860351f", "procedureId": "58711b05546a7b5bf2d07b4f", "amountinINR": 368900, "amountinDoller": 8600, "hospitalId": "5870eb66423c3231d4a19eb6", "categoryId": "58711a64546a7b5bf2d07b4d", "__v": 0 }, { "_id": "58728cde51716427b8603605", "procedureId": "58711b05546a7b5bf2d07b4f", "amountinINR": 587500, "amountinDoller": 8900, "hospitalId": "5870ec605c3f3f3806171ed6", "categoryId": "58711a64546a7b5bf2d07b4d", "__v": 0 }, { "_id": "587125d951716427b8603477", "procedureId": "58711b05546a7b5bf2d07b4f", "amountinINR": 475200, "amountinDoller": 9000, "hospitalId": "5870f2afb4255844bf0c2a10", "categoryId": "58711a64546a7b5bf2d07b4d", "__v": 0 }, { "_id": "5872127d51716427b86034f7", "procedureId": "58711b05546a7b5bf2d07b4f", "amountinINR": 398112, "amountinDoller": 9280, "hospitalId": "5870f66c5a8cbc4ac19afa7e", "categoryId": "58711a64546a7b5bf2d07b4d", "__v": 0 }, { "_id": "5872452951716427b86035e2", "procedureId": "58711b05546a7b5bf2d07b4f", "amountinINR": 407550, "amountinDoller": 9500, "hospitalId": "5870eefd8b40563f0e15115e", "categoryId": "58711a64546a7b5bf2d07b4d", "__v": 0 }], "procedures": { "_id": "58711b05546a7b5bf2d07b4f", "name": "Prophylactic Mastectomy", "categoryId": "58711a64546a7b5bf2d07b4d", "status": true, "createdAt": "2017-01-07T16:44:53.289Z", "__v": 0 } }, { "_id": "58711b36546a7b5bf2d07b50", "hospital": [{ "_id": "587220b351716427b860351e", "procedureId": "58711b36546a7b5bf2d07b50", "amountinINR": 257500, "amountinDoller": 6000, "hospitalId": "5870eb66423c3231d4a19eb6", "categoryId": "58711a64546a7b5bf2d07b4d", "__v": 0 }, { "_id": "5872455951716427b86035e3", "procedureId": "58711b36546a7b5bf2d07b50", "amountinINR": 270270, "amountinDoller": 6300, "hospitalId": "5870eefd8b40563f0e15115e", "categoryId": "58711a64546a7b5bf2d07b4d", "__v": 0 }, { "_id": "58713af551716427b86034a0", "procedureId": "58711b36546a7b5bf2d07b50", "amountinINR": 287430, "amountinDoller": 6700, "hospitalId": "5870edf92f3a483c2098b714", "categoryId": "58711a64546a7b5bf2d07b4d", "__v": 0 }, { "_id": "5872384051716427b860357c", "procedureId": "58711b36546a7b5bf2d07b50", "amountinINR": 369600, "amountinDoller": 7000, "hospitalId": "5870e89a3fd9ac2e3aaee967", "categoryId": "58711a64546a7b5bf2d07b4d", "__v": 0 }, { "_id": "587212b551716427b86034f8", "procedureId": "58711b36546a7b5bf2d07b50", "amountinINR": 304590, "amountinDoller": 7100, "hospitalId": "5870f66c5a8cbc4ac19afa7e", "categoryId": "58711a64546a7b5bf2d07b4d", "__v": 0 }, { "_id": "58728cfe51716427b8603606", "procedureId": "58711b36546a7b5bf2d07b50", "amountinINR": 481900, "amountinDoller": 7300, "hospitalId": "5870ec605c3f3f3806171ed6", "categoryId": "58711a64546a7b5bf2d07b4d", "__v": 0 }, { "_id": "5871261f51716427b8603478", "procedureId": "58711b36546a7b5bf2d07b50", "amountinINR": 396000, "amountinDoller": 7500, "hospitalId": "5870f2afb4255844bf0c2a10", "categoryId": "58711a64546a7b5bf2d07b4d", "__v": 0 }], "procedures": { "_id": "58711b36546a7b5bf2d07b50", "name": "Total Thyroidectomy", "categoryId": "58711a64546a7b5bf2d07b4d", "status": true, "createdAt": "2017-01-07T16:45:42.094Z", "__v": 0 } }], "category": [{ "_id": "58711a64546a7b5bf2d07b4d", "name": "Cancer Surgeries", "status": true, "createdAt": "2017-01-07T16:42:12.696Z", "__v": 0 }] }]; //Loop throught results for (var resultIndex = 0; resultIndex < results.length; resultIndex++) { var result = results[resultIndex]; for (var procedureIndex = 0; procedureIndex < result.procedure.length; procedureIndex++) { var procedure = result.procedure[procedureIndex]; //foreach result, modify "procedure" procedure.hospital = procedure.hospital .sort(function(a, b) { //Sort list to "amountinINR" DESCENDING return a.amountinINR - b.amountinINR; //Sort list to "amountinINR" ASCENDING //return b.amountinINR - a.amountinINR; }); } } //Log results console.log(results);
I know its answered may be somebody else finds it useful a one liner . 我知道它的答案可能是其他人发现一个衬板有用。 @Nina Scholz @尼娜·斯科尔斯(Nina Scholz)
let result = [{ "_id": "58711a64546a7b5bf2d07b4d", "procedure": [{ "_id": "58711aa8546a7b5bf2d07b4e", "hospital": [{ "_id": "5872209951716427b860351d", "procedureId": "58711aa8546a7b5bf2d07b4e", "amountinINR": 310020, "amountinDoller": 7000, "hospitalId": "5870eb66423c3231d4a19eb6", "categoryId": "58711a64546a7b5bf2d07b4d", "__v": 0 }, { "_id": "587237fa51716427b860357a", "procedureId": "58711aa8546a7b5bf2d07b4e", "amountinINR": 385440, "amountinDoller": 7300, "hospitalId": "5870e89a3fd9ac2e3aaee967", "categoryId": "58711a64546a7b5bf2d07b4d", "__v": 0 }, { "_id": "58728cb751716427b8603604", "procedureId": "58711aa8546a7b5bf2d07b4e", "amountinINR": 488500, "amountinDoller": 7400, "hospitalId": "5870ec605c3f3f3806171ed6", "categoryId": "58711a64546a7b5bf2d07b4d", "__v": 0 }, { "_id": "5872450c51716427b86035e0", "procedureId": "58711aa8546a7b5bf2d07b4e", "amountinINR": 351780, "amountinDoller": 8200, "hospitalId": "5870eefd8b40563f0e15115e", "categoryId": "58711a64546a7b5bf2d07b4d", "__v": 0 }, { "_id": "5872125e51716427b86034f6", "procedureId": "58711aa8546a7b5bf2d07b4e", "amountinINR": 368511, "amountinDoller": 8590, "hospitalId": "5870f66c5a8cbc4ac19afa7e", "categoryId": "58711a64546a7b5bf2d07b4d", "__v": 0 }, { "_id": "587125b451716427b8603476", "procedureId": "58711aa8546a7b5bf2d07b4e", "amountinINR": 480480, "amountinDoller": 9100, "hospitalId": "5870f2afb4255844bf0c2a10", "categoryId": "58711a64546a7b5bf2d07b4d", "__v": 0 }, { "_id": "58713aa151716427b860349e", "procedureId": "58711aa8546a7b5bf2d07b4e", "amountinINR": 407550, "amountinDoller": 9500, "hospitalId": "5870edf92f3a483c2098b714", "categoryId": "58711a64546a7b5bf2d07b4d", "__v": 0 }], "procedures": { "_id": "58711aa8546a7b5bf2d07b4e", "name": "Breast Conservative surgery", "categoryId": "58711a64546a7b5bf2d07b4d", "status": true, "createdAt": "2017-01-07T16:43:20.888Z", "__v": 0 } }, { "_id": "58711b8d546a7b5bf2d07b52", "hospital": [{ "_id": "58728d4551716427b8603608", "procedureId": "58711b8d546a7b5bf2d07b52", "amountinINR": 198000, "amountinDoller": 3000, "hospitalId": "5870ec605c3f3f3806171ed6", "categoryId": "58711a64546a7b5bf2d07b4d", "__v": 0 }, { "_id": "5872213651716427b8603521", "procedureId": "58711b8d546a7b5bf2d07b52", "amountinINR": 141800, "amountinDoller": 3300, "hospitalId": "5870eb66423c3231d4a19eb6", "categoryId": "58711a64546a7b5bf2d07b4d", "__v": 0 }, { "_id": "587212fb51716427b86034fa", "procedureId": "58711b8d546a7b5bf2d07b52", "amountinINR": 143715, "amountinDoller": 3350, "hospitalId": "5870f66c5a8cbc4ac19afa7e", "categoryId": "58711a64546a7b5bf2d07b4d", "__v": 0 }, { "_id": "5871268551716427b860347a", "procedureId": "58711b8d546a7b5bf2d07b52", "amountinINR": 174240, "amountinDoller": 3390, "hospitalId": "5870f2afb4255844bf0c2a10", "categoryId": "58711a64546a7b5bf2d07b4d", "__v": 0 }, { "_id": "5872388551716427b860357e", "procedureId": "58711b8d546a7b5bf2d07b52", "amountinINR": 179520, "amountinDoller": 3400, "hospitalId": "5870e89a3fd9ac2e3aaee967", "categoryId": "58711a64546a7b5bf2d07b4d", "__v": 0 }, { "_id": "587245a951716427b86035e7", "procedureId": "58711b8d546a7b5bf2d07b52", "amountinINR": 150150, "amountinDoller": 3500, "hospitalId": "5870eefd8b40563f0e15115e", "categoryId": "58711a64546a7b5bf2d07b4d", "__v": 0 }, { "_id": "58713b3c51716427b86034a2", "procedureId": "58711b8d546a7b5bf2d07b52", "amountinINR": 163020, "amountinDoller": 3800, "hospitalId": "5870edf92f3a483c2098b714", "categoryId": "58711a64546a7b5bf2d07b4d", "__v": 0 }], "procedures": { "_id": "58711b8d546a7b5bf2d07b52", "name": "Hysterectomy + Laparotomy", "categoryId": "58711a64546a7b5bf2d07b4d", "status": true, "createdAt": "2017-01-07T16:47:09.982Z", "__v": 0 } }, { "_id": "58711b4a546a7b5bf2d07b51", "hospital": [{ "_id": "58728d2651716427b8603607", "procedureId": "58711b4a546a7b5bf2d07b51", "amountinINR": 349900, "amountinDoller": 5300, "hospitalId": "5870ec605c3f3f3806171ed6", "categoryId": "58711a64546a7b5bf2d07b4d", "__v": 0 }, { "_id": "58713b1b51716427b86034a1", "procedureId": "58711b4a546a7b5bf2d07b51", "amountinINR": 235950, "amountinDoller": 5500, "hospitalId": "5870edf92f3a483c2098b714", "categoryId": "58711a64546a7b5bf2d07b4d", "__v": 0 }, { "_id": "5872210451716427b8603520", "procedureId": "58711b4a546a7b5bf2d07b51", "amountinINR": 240000, "amountinDoller": 5600, "hospitalId": "5870eb66423c3231d4a19eb6", "categoryId": "58711a64546a7b5bf2d07b4d", "__v": 0 }, { "_id": "5872386551716427b860357d", "procedureId": "58711b4a546a7b5bf2d07b51", "amountinINR": 311520, "amountinDoller": 5900, "hospitalId": "5870e89a3fd9ac2e3aaee967", "categoryId": "58711a64546a7b5bf2d07b4d", "__v": 0 }, { "_id": "5872457f51716427b86035e6", "procedureId": "58711b4a546a7b5bf2d07b51", "amountinINR": 253110, "amountinDoller": 5900, "hospitalId": "5870eefd8b40563f0e15115e", "categoryId": "58711a64546a7b5bf2d07b4d", "__v": 0 }, { "_id": "5871264a51716427b8603479", "procedureId": "58711b4a546a7b5bf2d07b51", "amountinINR": 327360, "amountinDoller": 6200, "hospitalId": "5870f2afb4255844bf0c2a10", "categoryId": "58711a64546a7b5bf2d07b4d", "__v": 0 }, { "_id": "587212d051716427b86034f9", "procedureId": "58711b4a546a7b5bf2d07b51", "amountinINR": 277563, "amountinDoller": 6470, "hospitalId": "5870f66c5a8cbc4ac19afa7e", "categoryId": "58711a64546a7b5bf2d07b4d", "__v": 0 }], "procedures": { "_id": "58711b4a546a7b5bf2d07b51", "name": "Modified Neck Dissection- MND", "categoryId": "58711a64546a7b5bf2d07b4d", "status": true, "createdAt": "2017-01-07T16:46:02.044Z", "__v": 0 } }, { "_id": "58711b05546a7b5bf2d07b4f", "hospital": [{ "_id": "58713ac151716427b860349f", "procedureId": "58711b05546a7b5bf2d07b4f", "amountinINR": 235950, "amountinDoller": 5500, "hospitalId": "5870edf92f3a483c2098b714", "categoryId": "58711a64546a7b5bf2d07b4d", "__v": 0 }, { "_id": "5872381951716427b860357b", "procedureId": "58711b05546a7b5bf2d07b4f", "amountinINR": 438240, "amountinDoller": 8300, "hospitalId": "5870e89a3fd9ac2e3aaee967", "categoryId": "58711a64546a7b5bf2d07b4d", "__v": 0 }, { "_id": "587220f051716427b860351f", "procedureId": "58711b05546a7b5bf2d07b4f", "amountinINR": 368900, "amountinDoller": 8600, "hospitalId": "5870eb66423c3231d4a19eb6", "categoryId": "58711a64546a7b5bf2d07b4d", "__v": 0 }, { "_id": "58728cde51716427b8603605", "procedureId": "58711b05546a7b5bf2d07b4f", "amountinINR": 587500, "amountinDoller": 8900, "hospitalId": "5870ec605c3f3f3806171ed6", "categoryId": "58711a64546a7b5bf2d07b4d", "__v": 0 }, { "_id": "587125d951716427b8603477", "procedureId": "58711b05546a7b5bf2d07b4f", "amountinINR": 475200, "amountinDoller": 9000, "hospitalId": "5870f2afb4255844bf0c2a10", "categoryId": "58711a64546a7b5bf2d07b4d", "__v": 0 }, { "_id": "5872127d51716427b86034f7", "procedureId": "58711b05546a7b5bf2d07b4f", "amountinINR": 398112, "amountinDoller": 9280, "hospitalId": "5870f66c5a8cbc4ac19afa7e", "categoryId": "58711a64546a7b5bf2d07b4d", "__v": 0 }, { "_id": "5872452951716427b86035e2", "procedureId": "58711b05546a7b5bf2d07b4f", "amountinINR": 407550, "amountinDoller": 9500, "hospitalId": "5870eefd8b40563f0e15115e", "categoryId": "58711a64546a7b5bf2d07b4d", "__v": 0 }], "procedures": { "_id": "58711b05546a7b5bf2d07b4f", "name": "Prophylactic Mastectomy", "categoryId": "58711a64546a7b5bf2d07b4d", "status": true, "createdAt": "2017-01-07T16:44:53.289Z", "__v": 0 } }, { "_id": "58711b36546a7b5bf2d07b50", "hospital": [{ "_id": "587220b351716427b860351e", "procedureId": "58711b36546a7b5bf2d07b50", "amountinINR": 257500, "amountinDoller": 6000, "hospitalId": "5870eb66423c3231d4a19eb6", "categoryId": "58711a64546a7b5bf2d07b4d", "__v": 0 }, { "_id": "5872455951716427b86035e3", "procedureId": "58711b36546a7b5bf2d07b50", "amountinINR": 270270, "amountinDoller": 6300, "hospitalId": "5870eefd8b40563f0e15115e", "categoryId": "58711a64546a7b5bf2d07b4d", "__v": 0 }, { "_id": "58713af551716427b86034a0", "procedureId": "58711b36546a7b5bf2d07b50", "amountinINR": 287430, "amountinDoller": 6700, "hospitalId": "5870edf92f3a483c2098b714", "categoryId": "58711a64546a7b5bf2d07b4d", "__v": 0 }, { "_id": "5872384051716427b860357c", "procedureId": "58711b36546a7b5bf2d07b50", "amountinINR": 369600, "amountinDoller": 7000, "hospitalId": "5870e89a3fd9ac2e3aaee967", "categoryId": "58711a64546a7b5bf2d07b4d", "__v": 0 }, { "_id": "587212b551716427b86034f8", "procedureId": "58711b36546a7b5bf2d07b50", "amountinINR": 304590, "amountinDoller": 7100, "hospitalId": "5870f66c5a8cbc4ac19afa7e", "categoryId": "58711a64546a7b5bf2d07b4d", "__v": 0 }, { "_id": "58728cfe51716427b8603606", "procedureId": "58711b36546a7b5bf2d07b50", "amountinINR": 481900, "amountinDoller": 7300, "hospitalId": "5870ec605c3f3f3806171ed6", "categoryId": "58711a64546a7b5bf2d07b4d", "__v": 0 }, { "_id": "5871261f51716427b8603478", "procedureId": "58711b36546a7b5bf2d07b50", "amountinINR": 396000, "amountinDoller": 7500, "hospitalId": "5870f2afb4255844bf0c2a10", "categoryId": "58711a64546a7b5bf2d07b4d", "__v": 0 }], "procedures": { "_id": "58711b36546a7b5bf2d07b50", "name": "Total Thyroidectomy", "categoryId": "58711a64546a7b5bf2d07b4d", "status": true, "createdAt": "2017-01-07T16:45:42.094Z", "__v": 0 } }], "category": [{ "_id": "58711a64546a7b5bf2d07b4d", "name": "Cancer Surgeries", "status": true, "createdAt": "2017-01-07T16:42:12.696Z", "__v": 0 }] }]; // sorting result.forEach(p => p.procedure.forEach(x => x.hospital.sort(function(a, b) { return (a.amountinINR - b.amountinINR); }))); console.log(result);
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.