I have a JSON array like this:
_htaItems = [
{"ID":1,
"parentColumnSortID":"0",
"description":"Precondition",
"columnSortID":"1",
"itemType":0},
{"ID":2,
"parentColumnSortID":"0",
"description":"Precondition",
"columnSortID":"1",
"itemType":0}]
I want to update this by passing the ID, column name and new value to a function:
function updateJSON(ID, columnName, newValue)
{
var i = 0;
for (i = 0; i < _htaItems.length; i++)
{
if (_htaItems[i].ID == ID)
{
?????
}
}
}
My question is, how do I update the value? I know I can do something like the following:
_htaItems[x].description = 'New Value'
But in my cause, the column name is being passed as a string.
In JavaScript, you can access an object property either with literal notation:
Or with bracketed notation using a string for the property name:
Those two statements do exactly the same thing, but in the case of the second one, since what goes in the brackets is a string, it can be any expression that resolves to a string (or can be coerced to one). So all of these do the same thing:
…which is to set the
answerproperty of the objecttheto42.So if
descriptionin your example can’t be a literal because it’s being passed to you from somewhere else, you can use bracketed notation: