Untitled

Run Settings
LanguageJavaScript
Language Version
Run Command
const form = { form_pages: [{ id: 1, name: 'page first', form_sections: [{ id: 1, name: 'sec first', form_items: [{ id: 1, name: 1, value: 0 }, { id: 2, name: 2, value: 0 }, { id: 3, name: 3, value: 0 }] }, { id: 2, name: 'sec second', form_items: [{ id: 1, name: 1, value: 0 }, { id: 2, name: 2, value: 0 }, { id: 3, name: 3, value: 0 }] }, { id: 3, name: 'sec third', form_items: [{ id: 1, name: 1, value: 0 }, { id: 2, name: 2, value: 0 }, { id: 3, name: 3, value: 0 }] }] }, { id: 2, name: 'page second', form_sections: [{ id: 1, name: 'sec first', form_items: [{ id: 1, name: 1, value: 0 }, { id: 2, name: 2, value: 0 }, { id: 3, name: 3, value: 0 }] }, { id: 2, name: 'sec second', form_items: [{ id: 1, name: 1, value: 0 }, { id: 2, name: 2, value: 0 }, { id: 3, name: 3, value: 0 }] }, { id: 3, name: 'sec third', form_items: [{ id: 1, name: 1, value: 0 }, { id: 2, name: 2, value: 0 }, { id: 3, name: 3, value: 0 }] }] }, { id: 3, name: 'page third', form_sections: [{ id: 1, name: 'sec first', form_items: [{ id: 1, name: 1, value: 0 }, { id: 2, name: 2, value: 0 }, { id: 3, name: 3, value: 0 }] }, { id: 2, name: 'sec second', form_items: [{ id: 1, name: 1, value: 0 }, { id: 2, name: 2, value: 0 }, { id: 3, name: 3, value: 0 }] }, { id: 3, name: 'sec third', form_items: [{ id: 1, name: 1, value: 0 }, { id: 2, name: 2, value: 0 }, { id: 3, name: 3, value: 0 }] }] }] }; function getFormItems(formPages) { return formPages.length ? formPages.reduce((pages, {form_sections}) => { return { ...pages, ...(form_sections || []).reduce((sections, {form_items}) => { return { ...sections, ...(form_items || []).reduce((items, {id, display_type, template_answers}) => { console.log('items: ', items); return { ...items, [id]: { display_type, template_answers } }; }, {}) }; }, {}) }; }, {}) : {}; } const formItemId = 3; const formSectionId = 2; const formPageId = 2; const formPage = form.form_pages.find((page) => page.id === formPageId); const formSection = formPage.form_sections.find((section) => section.id === formSectionId); const editedFormItem = formSection.form_items.find((item) => item.id === formItemId); editedFormItem.value = 'aaaaaa'; // console.log(editedFormItem) const newFormSection = { ...formSection, form_items: formSection.form_items.map(item => item.id === formItemId ? editedFormItem : item) }; // console.log(newFormSection) const newFormPage = { ...formPage, form_sections: formPage.form_sections.map(item => item.id === formSectionId ? newFormSection : item) }; // console.log(newFormPage) form.form_pages = form.form_pages.map(item => item.id === formPageId ? newFormPage : item); // console.log(form); console.log(getFormItems(form.form_pages));
Editor Settings
Theme
Key bindings
Full width
Lines