我有下一个对象:
var END_POINTS = {
list: {
members: {
show: {}
},
subscribers:{
show:{},
destroy: {}
}
},
user: {}
}
并希望让对象的每个值都匹配一个值... 像这样:
END_POINTS = {
list: {
members: {
show: true
},
subscribers:{
show:true,
destroy: true
}
},
user: true
}
答案 0 :(得分:2)
以下似乎有效:
var END_POINTS = {
list: {
members: {
show: {}
},
subscribers:{
show:{},
destroy: {}
}
},
user: {}
};
console.log(END_POINTS);
var objAssign = function(obj, value) {
for (var prop in obj) {
if (obj.hasOwnProperty(prop)) {
if (typeof obj[prop] === 'object' && !objEmpty(obj[prop])) {
objAssign(obj[prop], value);
}
else {
obj[prop] = value;
}
}
};
};
var objEmpty = function(obj) {
for (var prop in obj) {
if (obj.hasOwnProperty(prop)) return false;
}
return true;
};
objAssign(END_POINTS, true);
console.log(END_POINTS);