说我有一个像这样的对象:
obj = {
property1: "Prop 1 value",
property2: "-",
property3: "Prop 3 value"
property4: "-"
}
如果属性值等于" - "在某个属性上,我想将其从对象中删除。
我已经研究过循环,但我甚至不知道这是否是使用对象的正确范例。
答案 0 :(得分:6)
该算法非常简单。迭代对象中的所有属性,检查属性值是否等于"-"
并从对象中删除它。
for (var key in obj) {
if (obj[key] === '-')
delete obj[key];
}
答案 1 :(得分:2)
简单的循环与比较。
var obj = {
property1: "Prop 1 value",
property2: "-",
property3: "Prop 3 value",
property4: "-"
}
for (var prop in obj) {
if (obj.hasOwnProperty(prop)) {
if (obj[prop]==="-") {
delete obj[prop];
}
}
}
其他选项是带有for循环的Object.keys
var obj = {
property1: "Prop 1 value",
property2: "-",
property3: "Prop 3 value",
property4: "-"
}
Object.keys(obj).forEach(function(key) {
if(obj[key]==="-") {
delete obj[key];
}
});