Javascript 在JS对象内设置多个属性
让我们想象一下这个JS对象,如下所示Javascript 在JS对象内设置多个属性,javascript,typescript,Javascript,Typescript,让我们想象一下这个JS对象,如下所示 document: any = { id: { photo: {}, required: true }, ph: { photo: {}, required: true }, zp: { photo: {}, required: true } }; 是否有办法将所有必需的属性设置为false?取出键()循环遍历每个
document: any = {
id: {
photo: {},
required: true
},
ph: {
photo: {},
required: true
},
zp: {
photo: {},
required: true
}
};
是否有办法将所有必需的属性设置为false?取出键()循环遍历每个键,并将所需属性更改为所需值
let any={id:{photo:{},required:true},ph:{photo:{},required:true},zp:{photo:{},required:true};
Object.keys(any).forEach(e=>any[e].required=false)
console.log(any)
我将用JS回答,因为我还没有准备好使用TS:
const myDocument={
身份证:{
照片:{},
要求:正确,
},
ph值:{
照片:{},
要求:正确,
},
zp:{
照片:{},
要求:正确,
},
};
Object.keys(myDocument).forEach(key=>myDocument[key].required=false);
console.log(myDocument)代码>您可以使用“映射”更改所有属性值,以及。对象如何按引用运行。您不需要创建新变量
var any={
身份证:{
照片:{},
必填项:true
},
ph值:{
照片:{},
必填项:true
},
zp:{
照片:{},
必填项:true
}
};
Object.keys(任意).map(函数(键、索引){
任意[key]。必需=false;
});
控制台日志(任何)代码>实际上,您只需使用
let any={
id:{photo:{},必需:true},
ph:{photo:{},必需:true},
zp:{photo:{},必需:true}
};
for(在任意位置输入常量键)
{
任意[key]。必需=false;
}
控制台日志(任何)
你说的是在不静态遍历结构的情况下设置它们?在第二个示例中,你返回了一个对象数组,我认为这个问题是错误的。实际上,你使用map
创建了一个新数组;你什么都不做。这就是为什么map
不应用于此类副作用,以及为什么有forEach
功能。这与。。。