Javascript 如何清空对象(对象字段可以是变化的和动态的)

Javascript 如何清空对象(对象字段可以是变化的和动态的),javascript,Javascript,如何重置对象,如下所示。 作为一个静态对象,我可以使用下面的一个,但是,这个对象可以包含额外的字段或更少的字段,而不是下面动态提供的字段。 如何使此对象为空,如下所示 var object={ id:0, clientId:0, position:'', positionCnt:'', InsValue:'', Code:'', FieldName:'' }; 保留一个模板对象,以便知道要将其重置为什么 然后循环并删除所有

如何重置对象,如下所示。 作为一个静态对象,我可以使用下面的一个,但是,这个对象可以包含额外的字段或更少的字段,而不是下面动态提供的字段。 如何使此对象为空,如下所示

var object={
    id:0,
    clientId:0,
    position:'',
    positionCnt:'',
    InsValue:'',
        Code:'',
        FieldName:''
};

保留一个模板对象,以便知道要将其重置为什么

然后循环并删除所有属性,并在其上指定模板

const模板={
id:0,
客户ID:0,
位置:“”,
位置:'',
InsValue:“”,
代码:“”,
字段名:“”
};
让对象={
id:0,
//客户ID:0,
//位置:“”,
位置:'',
InsValue:“”,
代码:“”,
FieldName:'具有不同的值',
外场:“你好,世界”
};
log(“Before”,JSON.stringify(object,null,2));
Object.keys(Object.forEach)(key=>{
删除对象[键];
});
分配(对象、模板);

log(“After”,JSON.stringify(object,null,2))保留模板对象,以便知道要将其重置为什么

然后循环并删除所有属性,并在其上指定模板

const模板={
id:0,
客户ID:0,
位置:“”,
位置:'',
InsValue:“”,
代码:“”,
字段名:“”
};
让对象={
id:0,
//客户ID:0,
//位置:“”,
位置:'',
InsValue:“”,
代码:“”,
FieldName:'具有不同的值',
外场:“你好,世界”
};
log(“Before”,JSON.stringify(object,null,2));
Object.keys(Object.forEach)(key=>{
删除对象[键];
});
分配(对象、模板);

log(“After”,JSON.stringify(object,null,2))您可以使用
对象。分配

let newObject = Object.assign(object, {position: "x"});
var对象={
id:0,
客户ID:0,
位置:“”,
位置:'',
InsValue:“”,
代码:“”,
字段名:“”
};
让newObject=Object.assign(对象,{position:“x”});

console.log(newObject)您可以使用
对象。分配

let newObject = Object.assign(object, {position: "x"});
var对象={
id:0,
客户ID:0,
位置:“”,
位置:'',
InsValue:“”,
代码:“”,
字段名:“”
};
让newObject=Object.assign(对象,{position:“x”});
console.log(newObject)
var a={1:1,2:2,3:3,4:true}
设sort=(obj,val,val2,val3)=>{
Object.keys(obj.forEach)(x=>{
如果(对象的类型[x]='string'){
obj[x]=val;
}else if(对象类型[x]=“编号”){
obj[x]=val2;
}else if(对象的类型[x]=“布尔”){
obj[x]=val3;
}否则{
//在此扩展到数据类型
}
});
}
设set=obj=>sort(obj',,0,false);//其他类型
第(一)组
console.log('After:',a)
var a={1:1,2:2,3:3,4:true}
设sort=(obj,val,val2,val3)=>{
Object.keys(obj.forEach)(x=>{
如果(对象的类型[x]='string'){
obj[x]=val;
}else if(对象类型[x]=“编号”){
obj[x]=val2;
}else if(对象的类型[x]=“布尔”){
obj[x]=val3;
}否则{
//在此扩展到数据类型
}
});
}
设set=obj=>sort(obj',,0,false);//其他类型
第(一)组

console.log('After:',a)
您可以设置一个按类型定义默认值的对象(
string
number
等)

有了这个定义,下面的代码将遍历对象,并将属性值设置为其类型默认值

重要提示:下面的代码是一个坚实的开端,但它不能处理
数组、嵌套对象等,因此您必须对其进行充实

var defaultTypeValues={
编号:0,
字符串:“”,
布尔值:false
};
var obj={
id:525,
客户编号:1624,
位置:'pos',
职位编号:“abc”,
InsValue:'def',
代码:“abc123”,
FieldName:“FieldName”
}
函数emptyObj(obj,defaultOverrides={}){
var defaults=Object.assign({},DefaultTypeValue,defaultOverrides);
Object.keys(obj.forEach)(k=>obj[k]=默认值[typeof obj[k]]);
返回obj;
}

console.log(emptyObj(obj))您可以设置一个对象,该对象按类型定义默认值(
string
number
,等等)

有了这个定义,下面的代码将遍历对象,并将属性值设置为其类型默认值

重要提示:下面的代码是一个坚实的开端,但它不能处理
数组、嵌套对象等,因此您必须对其进行充实

var defaultTypeValues={
编号:0,
字符串:“”,
布尔值:false
};
var obj={
id:525,
客户编号:1624,
位置:'pos',
职位编号:“abc”,
InsValue:'def',
代码:“abc123”,
FieldName:“FieldName”
}
函数emptyObj(obj,defaultOverrides={}){
var defaults=Object.assign({},DefaultTypeValue,defaultOverrides);
Object.keys(obj.forEach)(k=>obj[k]=默认值[typeof obj[k]]);
返回obj;
}

console.log(emptyObj(obj))以下是使用嵌套对象工作原型的示例。
它不使用超出范围的变量,易于测试和维护

const-toDefault=defaults=>{
返回功能复位器(o){
Object.keys(o).forEach(key=>{
if(o[键]=“对象”的类型){
o[键]=重置器(o[键]);
}否则{
o[key]=默认值[typeof o[key]];
}
})
返回o;
}
}
const reset=toDefault({string:,number:-1});
var obj={
身份证号码:1230,
客户ID:0,
位置:“”,
位置:'',
InsValue:“”,
代码:'12312312',
字段名:“”,
嵌套的:{
a:12312,
b:123123
}
};

控制台日志(重置(obj))以下是使用嵌套对象工作原型的示例。
它不使用超出范围的变量,易于测试和维护

const-toDefault=defaults=>{
返回功能复位器(o){
Object.keys(o).forEach(key=>{
if(o[键]=“对象”的类型){
o[键]=重置器(o[键]);