Hi all,
I try to learn a lot, so i tried all options.
My own java loop already worked, so i was looking for an better, shorter alternative.
I hoped for somethings like this (i know this does not exist, it is pseudo..).
pseudo code
modqueue = [
{"service": "Check server", "service_status" : false,"paralel":false, "time": null, "st_info":true, "st_debug":false, "mresult":null,"mactive":true},
{"service": "Database", "service_status" : false,"paralel":true, "time": null,"st_info":true, "st_debug":true,"mresult":null,"mactive":false},
{"service": "Notificatie", "service_status" : false,"paralel":true, "time": null,"st_info":true, "st_debug":true,"mresult":null,"mactive":true},
{"service": "OS command", "service_status" : false,"paralel":false, "time": null,"st_info":true, "st_debug":true,"mresult":null,"mactive":false}
];
a= modqueue.searchfunction ("service" === "Database")
modqueue[a].service = true;
Option 1. my own java (see earlier script above) WORKS
Option 2 map option WORKS (BETTER THEN MY SOLUTION)
Option 3 findindex --> could not get this to work with my array with more elements in a record
Option 3 filter --> could not get this to work with my array with more elements in a record
option 1 see above
option 2 map
modqueue = [
{"service": "Check server", "service_status" : false,"paralel":false, "time": null, "st_info":true, "st_debug":false, "mresult":null,"mactive":true},
{"service": "Database", "service_status" : false,"paralel":true, "time": null,"st_info":true, "st_debug":true,"mresult":null,"mactive":false},
{"service": "Notificatie", "service_status" : false,"paralel":true, "time": null,"st_info":true, "st_debug":true,"mresult":null,"mactive":true},
{"service": "OS command", "service_status" : false,"paralel":false, "time": null,"st_info":true, "st_debug":true,"mresult":null,"mactive":false}
];
let izoek = "Database"
let output = null
modqueue = modqueue.map(obj => {
if(obj.service === izoek) {obj.active = true;output = obj}
return obj
})
node.warn('changed array: '+JSON.stringify(modqueue))
if(output !== null)
{msg.payload = output;return msg;}