How to delete element from indexed array based on value
Example:
var add = { number1: 'hello' , number2: "Haii", number3: "Byee" };
Now I want to delete element which having value Haii.
Can we do it with out iterate using for loop.
asked Dec 14, 2014 at 6:58
Joshna Gunturu
1611 gold badge2 silver badges14 bronze badges
3 Answers 3
var add = {
number1: 'hello',
number2: "Haii",
number3: "Byee"
};
for (var x in add) {
if (add[x] == "Haii") {
add[x].remove();
}
}
thefourtheye
241k53 gold badges466 silver badges505 bronze badges
answered Dec 14, 2014 at 7:04
Suchit kumar
11.9k3 gold badges26 silver badges46 bronze badges
Sign up to request clarification or add additional context in comments.
Comments
Can we do it with out iterate using fir loop.
First, get all the keys which correspond to the value
Haii.var filteredKeys = Object.keys(add).filter(function(currentKey) { return add[currentKey] === "Haii"; });Then, delete all those keys from
addfilteredKeys.forEach(function(currentKey) { delete add[currentKey]; });
No explicit looping at all :-)
We can reduce the above seen two step process into a one step process, like this
Object.keys(add).forEach(function(currentKey) {
if (add[currentKey] === "Haii") {
delete add[currentKey];
}
});
Again, no explicit looping :-)
answered Dec 14, 2014 at 7:04
thefourtheye
241k53 gold badges466 silver badges505 bronze badges
Comments
var add = {
number1: 'hello',
number2: "Haii",
number3: "Byee"
};
for (var i in add) {
if (add[i] == "Haii") {
delete add[i];
}
}
try this:
thefourtheye
241k53 gold badges466 silver badges505 bronze badges
answered Dec 14, 2014 at 7:03
Man Programmer
5,3762 gold badges24 silver badges21 bronze badges
Comments
lang-js