Помогите разобраться с JS, циклы и условия
"data": {
"Contract": { "19654668": { "DateIns": "2019-11-20", "Amount": 53999, "Dogovor": "54985115555", "ProgramName": "Стол" }, "14898668": { "DateIns": "2020-10-05", "Amount": 7345, "Dogovor": "5498511553333", "ProgramName": "Кресло" }, "19652368": { "DateIns": "2020-10-05", "Amount": 9555, "Dogovor": "549851155553232", "ProgramName": "Стол" }, "7774668": { "DateIns": "2020-10-25", "Amount": 9555, "Dogovor": "549851155551232", "ProgramName": "Стол и кресло" } }, "ref": "200822329841A8C7", "date_creat": "2020-08-26", } Помогите пожалуйста написать скрипт. Условие: Если мы находим в каждом объекте data.contract.[key].ProgramName, значение которого равно "Стол" или "Кресло" то сверяем дату "DateIns" с "date_creat": - Если DateIns >= date_creat, то создавать объект "data.attracted = "Y"; - Если DateIns < date_creat, то создаем обект "data.attracted = "N"; Если полных совпадений в поле ProgramName "Стол" или "Кресло" не найдено, то проставляем "data.attracted = "K" РЕМАРКА === Необходимо настроить полное совпадение строки, так как, могут попадаться варианты строки как "Стол и кресло" - а нам такие варианты не нужны. |
Цитата:
|
Tony_Gabrial,
<script> let obj = {"data": { "Contract": { "19654668": { "DateIns": "2019-11-20", "Amount": 53999, "Dogovor": "54985115555", "ProgramName": "Стол" }, "14898668": { "DateIns": "2020-10-05", "Amount": 7345, "Dogovor": "5498511553333", "ProgramName": "Кресло" }, "19652368": { "DateIns": "2020-10-05", "Amount": 9555, "Dogovor": "549851155553232", "ProgramName": "Стол" }, "7774668": { "DateIns": "2020-10-25", "Amount": 9555, "Dogovor": "549851155551232", "ProgramName": "Стол и кресло" } }, "ref": "200822329841A8C7", "date_creat": "2020-08-26", }}; let date_creat = obj.data.date_creat; for(let item of Object.values(obj.data.Contract)) { let attracted = "K"; if(["Стол", "Кресло"].includes(item.ProgramName)) { attracted = item.DateIns >= date_creat ? "Y" : "N" } item.attracted = attracted; } document.write(`<pre>${JSON.stringify(obj, "", 4)}</pre>`) </script> |
Tony_Gabrial,
Пожалуйста, отформатируйте свой код! Для этого его можно заключить в специальные теги: js/css/html и т.п., например: [html run] ... минимальный код страницы с вашей проблемой [/html] О том, как вставить в сообщение исполняемый javascript и html-код, а также о дополнительных возможностях форматирования - читайте http://javascript.ru/formatting. |
Большое всем спасибо
|
Часовой пояс GMT +3, время: 23:53. |