var obj = {
prop1: "value1",
prop2: "value2",
prop3: "value3"
}
如何用字符串替换obj的每个prop?
期望的结果:
var obj = {
prop1: "foo",
prop2: "foo",
prop3: "foo"
}
答案 0 :(得分:0)
作为循环对象的最佳实践,您应该使用hasOwnProperty来确保只覆盖属性而不是函数,除非您100%确定循环永远不会出现在包含除示例中所示属性之外的任何对象上。第二项检查是确保它不会覆盖对象中存在的任何对象。
var obj = {
prop1: "value1",
prop2: "value2",
prop3: "value3",
prop4: {
test: "test"
}
}
for (var p in obj) {
if (obj.hasOwnProperty(p) && (typeof obj[p]) != "object") {
obj[p] = "foo"
}
}
答案 1 :(得分:0)
只需遍历所有键并将属性设置为所需的值。
var obj = {
prop1: "value1",
prop2: "value2",
prop3: "value3"
};
Object.keys(obj).forEach(function (key) {
obj[key] = 'foo';
});
document.write('<pre>' + JSON.stringify(obj, 0, 4) + '</pre>');