以以下对象为例:
var fruits = {
"red" : "apple",
"blue" : "blueberry",
"yellow" : "banana"
}
我知道我可以使用
delete fruits["red"]
通过键名删除它,但我怎么能通过水果名删除对象项?
最佳答案
你有没有尝试过这样的事情?
function deleteByValue(val) {
for(var f in fruits) {
if(fruits[f] == val) {
delete fruits[f];
}
}
}
根据 Rocket 的评论,您可能需要查看
hasOwnProperty
确保您没有删除对象原型(prototype)的成员:function deleteByValue(val) {
for(var f in fruits) {
if(fruits.hasOwnProperty(f) && fruits[f] == val) {
delete fruits[f];
}
}
}
关于javascript - 如何按值删除javascript对象项?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9910336/