Вы можете использовать функцию find
для поиска объектов с ключом size_byte AVG
и функцию sort
для сортировки массива.
Этот подход сортирует по возрастанию
let arr = [{ "searchResultProperties": [{ "key": "message_time", "value": 1542088800000 }, { "key": "size_byte AVG", "value": 480 }, { "key": "source_file", "value": "log" }, { "key": "source_host", "value": "lab8.domain.com" }], "show": false, "key": null, "type": null}, { "searchResultProperties": [{ "key": "message_time", "value": 1542096000000 }, { "key": "size_byte AVG", "value": 373 }, { "key": "source_file", "value": "log" }, { "key": "source_host", "value": "lab8.domain.com" }], "show": false, "key": null, "type": null}, { "searchResultProperties": [{ "key": "message_time", "value": 1542103200000 }, { "key": "size_byte AVG", "value": 683 }, { "key": "source_file", "value": "log" }, { "key": "source_host", "value": "lab8.domain.com" }], "show": false, "key": null, "type": null}],
target = "size_byte AVG",
compare = (a, b) => a.find(({key}) => key === target).value - b.find(({key}) => key === target).value,
sorted = arr.sort(({searchResultProperties: a}, {searchResultProperties: b}) => compare(a, b));
console.log(sorted);
.as-console-wrapper { max-height: 100% !important; top: 0; }