我有一堆动态的javascript对象,我只想验证这些对象是“有效的”。
我想尽可能快速高效地完成它,所以这个嵌套的if循环系统感觉效率很低。
if(obj.hasOwnProperty("key")){
if(obj.hasOwnProperty("value")){
if(obj.hasOwnProperty("message")){
//we only want active objects!
if(obj.Active){
Array.push(obj);
}
}
}
}发布于 2018-01-09 03:10:29
您可以在数组中添加所需属性的列表,并遍历该列表以测试every属性是否存在
所以
let validObj = ['key', 'value', 'message'];
let validate = (obj,props) => props.every(prop => obj.hasOwnProperty(prop));
// now you can use
if (validate(obj, validObj) && obj.Active) ArrayVar.push(obj);https://stackoverflow.com/questions/48156589
复制相似问题