Ich habe ein Array und in jedem Array ist ein JSON-Objekt mit jedem Tag der Woche, so dass meine Array wie folgt aussehen würde:Wie kann ich mein verschachteltes Objekt innerhalb eines anderen Objekts innerhalb eines Arrays dynamisch aktualisieren?
var array = [
{
"wednesday":{
"notes":"some notes for Wednesday"
},
},
{
"thursday":{
"notes":"some notes for Thursday"
}
}
];
i weg telefonisch unter der direkt mit der Aktualisierung von meinem Objekt bekommen kann :
array[0].wednesday.notes = "updating Wednesday notes";
ich brauche aber es dynamisch zu aktualisieren ....
ich habe eine Funktion, die etwa wie folgt aussieht, muss ich den Tag der Woche auf meinem jSON-Objekt dynamisch rufen und nicht in nur Mittwoch gesperrt werden ay, ich muss in der lage sein, mittwoch, donnerstag, freitag usw. auf meinem objekt anzurufen, wie kann ich das tun?
function updateObject(index, empNum) {
console.log(index+", "+empNum)
array[index].employee = $("#employee_" + empNum).val();
array[index].wednesday.notes = $("#employee_" + empNum + "_wed_notes").val();
array[index].wednesday.start = $("#employee_" + empNum + "_wed_shift_start").val();
array[index].wednesday.lunch = $("#employee_" + empNum + "_wed_lunch").val();
array[index].wednesday.end = $("#employee_" + empNum + "_wed_shift_end").val();
array[index].wednesday.short_day = $("#employee_" + empNum + "_wed_short_day").is(':checked');
array[index].wednesday.lack_of_work = $("#employee_" + empNum + "_wed_lack_of_work").is(':checked');
array[index].wednesday.full_day = $("#employee_" + empNum + "_wed_full_day").is(':checked');
var row_count = $("input[id*='employee_" + empNum + "_wed_job_']").length;
for (var i = 0; i < row_count; i++) {
var data = {};
data.job = $("input[id*='employee_" + empNum + "_wed_job_']").eq(i).val();
data.hrs = $("input[id*='employee_" + empNum + "_wed_hrs_']").eq(i).val();
data.cost_code = $("input[id*='employee_" + empNum + "_wed_cost_code_']").eq(i).val();
data.st = $("input[id*='employee_" + empNum + "_wed_st_']").eq(i).is(':checked');
data.ot = $("input[id*='employee_" + empNum + "_wed_ot_']").eq(i).is(':checked');
data.dt = $("input[id*='employee_" + empNum + "_wed_dt_']").eq(i).is(':checked');
array[index].wednesday.data[i] = data;
}
}
Ich habe versucht, so etwas wie Array tun [index] [Donnerstag] .Notes = "x".
aber leider, dass nicht funktioniert, muss ich der Lage sein, den Tag der Woche zu rufen ich brauche, wenn ich die Funktion
nennen so muss ich es so etwas wie updateObject(2,1,"thursday");
Sie scheinen zu wissen Sie bereits, wie man die Bracket-Notation verwendet, und das Hinzufügen eines weiteren Arguments zur Funktion sollte trivial sein? – adeneo
leider weiß ich nicht, wie Bracket-Notation zu verwenden, oder zumindest ich bin nicht klar, was das ist =/ – aronlmin
https://jsfiddle.net/vjon7k13/ – adeneo