繁体   English   中英

检查字段属性是否存在,如果不将其从对象数组中删除

[英]check if field property exist if does not remove it from object array javascript

我在javascript中有数组类型的对象,我想检查字段属性是否存在,如果不从对象数组中将其删除,例如我拥有的数组是

var array = [{ 0:Common_Text_Area__c:"test 1"
  Evaluation__c:"a0W2F000000xB6sUAE"
  Id:"a0u2F000000ocv0QAA"
  Name:"ER-003346"
  Rating_Owner__c:"Employee"
  Review_Question__c:"a0w2F000000OoH5QAK"
1:Evaluation__c:"a0W2F000000xB6sSDE"
  Id:"a0u2F058254ocv0QAA"
  Name:"ER-013346"
  Rating_Owner__c:"Employee"
  Review_Question__c:"a0w2F000000OoH5QAK"}]

我想检查Common_Text_Area__c是否存在,然后将其全部删除,所以我将在数组中以这个结尾

    var arrayTwo = [{ 0:Common_Text_Area__c:"test 1"
     Evaluation__c:"a0W2F000000xB6sUAE"
     Id:"a0u2F000000ocv0QAA"
     Name:"ER-003346"
     Rating_Owner__c:"Employee"
     Review_Question__c:"a0w2F000000OoH5QAK"}]

使用Array.prototype.filter返回仅包含通过测试的元素的数组。 使用in运算符测试对象是否具有属性:

const result = arr.filter( obj => 'Common_Text_Area__c' in obj );

具有功能filter的替代方法, includes

 var array = [{ 'Common_Text_Area__c': "test 1", 'Evaluation__c': "a0W2F000000xB6sUAE", Id: "a0u2F000000ocv0QAA", Name: "ER-003346", 'Rating_Owner__c': "Employee", 'Review_Question__c': "a0w2F000000OoH5QAK" }, { 'Evaluation__c': "a0W2F000000xB6sSDE", Id: "a0u2F058254ocv0QAA", Name: "ER-013346", 'Rating_Owner__c': "Employee", 'Review_Question__c': "a0w2F000000OoH5QAK" }]; console.log(array.filter(o => Object.keys(o).includes('Common_Text_Area__c'))); 
 .as-console-wrapper { max-height: 100% !important; top: 0; } 

如果Common_Text_Area__c的值不同于undefinednull ,则可以使用Destructuring分配。

 var array = [{ 'Common_Text_Area__c': "test 1", 'Evaluation__c': "a0W2F000000xB6sUAE", Id: "a0u2F000000ocv0QAA", Name: "ER-003346", 'Rating_Owner__c': "Employee", 'Review_Question__c': "a0w2F000000OoH5QAK" }, { 'Evaluation__c': "a0W2F000000xB6sSDE", Id: "a0u2F058254ocv0QAA", Name: "ER-013346", 'Rating_Owner__c': "Employee", 'Review_Question__c': "a0w2F000000OoH5QAK" }]; console.log(array.filter(({Common_Text_Area__c}) => Common_Text_Area__c)); 
 .as-console-wrapper { max-height: 100% !important; top: 0; } 

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM