Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/445.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/typescript/9.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 在JS对象内设置多个属性_Javascript_Typescript - Fatal编程技术网

Javascript 在JS对象内设置多个属性

Javascript 在JS对象内设置多个属性,javascript,typescript,Javascript,Typescript,让我们想象一下这个JS对象,如下所示 document: any = { id: { photo: {}, required: true }, ph: { photo: {}, required: true }, zp: { photo: {}, required: true } }; 是否有办法将所有必需的属性设置为false?取出键()循环遍历每个

让我们想象一下这个JS对象,如下所示

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
功能。这与。。。