3
I have a JSON array like this:
[{ id: 1, total: 50.00 }, { id: 2, total: 70.00 }]
I would like to know how to add/change an item into a id only. As if in SQL.
For example, in case I wanted to change the total of id:2 how could you do?
3
I have a JSON array like this:
[{ id: 1, total: 50.00 }, { id: 2, total: 70.00 }]
I would like to know how to add/change an item into a id only. As if in SQL.
For example, in case I wanted to change the total of id:2 how could you do?
3
If you only want to change the value of the object whose ID is 2, you will have to go through all elements/objects of that array. If you do it with a loop for you can use the break; and improve performance.
Something like:
var json = [{
id: 1,
total: 50.00
}, {
id: 2,
total: 70.00
}];
alert(json[1].total); // 70
for (var i = 0; i < json.length; i++) {
var obj = json[i];
if (obj.id == 2) {
obj.total = 100;
break;
}
}
alert(json[1].total); // 100
3
I don’t know Angularjs, but I believe filter can do what you want (just not understood by the documentation how to use it). To do in pure Javascript, can use Array.filter:
var array = [{ id: 1, total: 50.00 }, { id: 2, total: 70.00 }];
var el = array.filter(function(el) { return el.id == 2; })[0];
el.total += 10;
document.getElementsByTagName("body")[0].innerHTML += JSON.stringify(array);
The find would be an even better option, but it is not widely supported by all browsers.
1
you can add an object to the array with the method push
var lista = [{ id: 1, total: 50.00 }, { id: 2, total: 70.00 }];
lista.push({ id: 3, total: 50.00 });
but if you want to access the array quickly by id you can use an object instead of the array in itself.
var lista = {};
lista["1"] = { id: 1, total: 50.00 };
lista["3"] = { id: 3, total: 50.00 };
lista["5"] = { id: 5, total: 50.00 };
//Editando o valor do registro com id = 3
lista["3"].total = 300.00;
this is possible because a json object can be accessed in a similar way to a HashMap(Java) or Dictionary(C#), then json.Prop is the same as json["Prop"].
And change the total id: 1, for example ?
Browser other questions tagged javascript json angularjs
You are not signed in. Login or sign up in order to post.
The title of the question says "add", but by its description you want to "select". It is a bit ambiguous, could you explain better what you want? (would be maybe add if not there, change if you are?)
– mgibsonbr
I’m sorry I would change the value of an item.
– peterq