JSFiddle - React, Tailwind, and code Playground

by devdev

HTML

<pre id="out"></pre>

JavaScript

function init_state_by_calc( previous_state ){
    var next_state
    var state={}
    state.sections_ok = [true, true, true]
    for(var i=0; i<previous_state.to_fix_list.length; i++){
        state.sections_ok[previous_state.to_fix_list[i]] = false
    }
    state.tray_icon_ok = state.sections_ok[0] && state.sections_ok[1] && state.sections_ok[2]
    next_state = state
    return next_state
}
function out_write(text){ out.innerHTML+=text }
function out_writeln(text){ out_write(text+"\n") }
function out_writeln_json(object){ out_writeln( JSON.stringify( object) ) }

/// out_writeln(JSON.stringify(init_state_by_calc( {to_fix_list:[]})))
/// out_writeln(JSON.stringify(init_state_by_calc( {to_fix_list:[1]})))

var current_state_short = {to_fix_list:[1]}
out_writeln_json(init_state_by_calc(current_state_short))
current_state_short.to_fix_list = []
out_writeln_json(init_state_by_calc(current_state_short))