Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/arrays/12.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 更新对象属性具有特定值的数组_Javascript_Arrays_Angular_Typescript - Fatal编程技术网

Javascript 更新对象属性具有特定值的数组

Javascript 更新对象属性具有特定值的数组,javascript,arrays,angular,typescript,Javascript,Arrays,Angular,Typescript,我正在尝试更新对象属性具有特定值的数组 详细信息: 我有一个简单的方法(setMissingFields(model))将model作为参数。在方法中,我在对象(model)上循环,并希望在属性设置为mandatory:true时更新数组(missingArray[]) 下面是我的“干净”代码(我使用if(typeof(value)==“object”)尝试了各种嵌套循环): 您可以尝试下面的循环方法来获得所需的输出。 在每次循环迭代中,它都会检查该对象中是否存在强制字段,如果存在,那么该字段的

我正在尝试更新对象属性具有特定值的数组

详细信息:

我有一个简单的方法(
setMissingFields(model)
)将
model
作为参数。在方法中,我在对象(
model
)上循环,并希望在属性设置为
mandatory:true
时更新数组(
missingArray[]

下面是我的“干净”代码(我使用
if(typeof(value)==“object”)
尝试了各种嵌套循环):


您可以尝试下面的循环方法来获得所需的输出。 在每次循环迭代中,它都会检查该对象中是否存在强制字段,如果存在,那么该字段的值是多少,如果值为true,那么我也会验证值字段包含什么

如果它满足所有条件,我将在新数组中添加该字段

如果没有,那么我将对当前对象递归调用相同的方法

var resultset=[];
var模型={
名称:{value:'',必需:true},
首字母:{value:'',必填项:false},
物理地址:{
addressPostalCode:{value:'',必填项:true},
},
邮资:{
address1:{value:'',必需:false},
},
};
功能筛选键(数据){
如果(数据){
for(对象项(数据)的常量[键,值]){
var currentValue=当前值;
if(value.hasOwnProperty(“强制”)
&&值[“必需”]==true&&!值[“值”]){
console.log(键、值);
resultset.push({fieldName:key,expectedValue:''})
}否则{
filterkey(当前值);
}
}
}
}
过滤键(型号);

console.log(resultset)给定json数据的预期输出(missingArray)是什么?
  model = {
    name: { value: '', mandatory: false },
    initials: { value: '', mandatory: false },
    physicalAddress: {
      addressPostalCode: { value: '', mandatory: true },
    },
    postalAddress: {
      address1: { value: '', mandatory: true },
    },
  };

  setMissingFields(model) {
    for (const [key, value] of Object.entries(model)) {

      if (value === '') {
        this.missingArray.push({ FieldName: key, ExpectedValue: ''});
      }
      else if (typeof (value) === 'object') {
        this.setMissingFields(value);
      }
    }
  }