我有一个余烬对象'Person'。例如
person = {
name: "Rahul" ,
age: "29",
companyDetails: { tel: "9809823897" , name: "Amazon"},
phone: "2377373893"
}
我如何将此“人”的所有属性设置为null?我希望结果是
person = {
name: null ,
age: null,
companyDetails: { tel: null , name: null},
phone: null
}
答案 0 :(得分:0)
您可以使用ES6功能对象传播,最简单的方法
赞:
const newPerson = { ...person, name: null, age: null, phone: null }
答案 1 :(得分:0)
如果您使用的是ES6或更高版本,则Hrimiuc的答案应该有效;但是,这是一个更古老的方法:
var obj = {
prop1: "S",
prop2: {
subProp1: "h"
}
}
var setAllToNull = function( objName ) {
var keys = Object.keys( objName );
for( var i = 0; i < keys.length; i++ ) {
var currentKey = keys[ i ];
if( Object.prototype.toString.call( objName[ currentKey ] ) === '[object Object]' ) {
setAllToNull( objName[ currentKey ] );
} else {
if( objName.hasOwnProperty( currentKey ) ) {
objName[ currentKey ] = null; }
}
}
}
}
我这样做只是为了解释您想要的理论方法! :)