object.values(obj)  返回的是一个对象的所有key的value数组即 对象属性的值组成的数组 

let indexArray=[]  //建一个新数组
newData.forEach((element,index0) => {   // 遍历需过滤数组的元素和数组下标
        let isfalse=true
        Object.values(element).forEach((item,index) => {  // 遍历对象的属性和下标 
       
              if((item===null||item=="null")&&isfalse){ //如果属性值为空 
        
                 indexArray.push(index0)    //遍历出来的值添加到新数组中
                 isfalse=false    // isfalse跳出循环
       

               }
            })
        });
let test =newData.filter((item, index) =>{   // 建一个新数组test 用来储存数组过滤后的元素
            return !indexArray.includes(index)}   // 返回不在indexArray中的元素
        )

过滤后的数组还剩423条数据

代码优化:

object.values(obj) 返回的是一个对象的array
filter掉这个Array有null的值后Object.values(v).filter((i) => {return i!=null; })这是一个没有null的新数组
如果
Object.values(v).filter((i) => {return i!=null; })新数组,和Object.values(v)原数组
的长度相等,就代表 这个对象的所有属性都没有null,也就是最外层的filter的条件

 let test = newArr.filter((v) => {   // v是变量 固定写法 newArr是需要过滤的数组
             return (
               Object.values(v).filter((i) => {
                 return i!=null;
               }).length === Object.values(v).length
             );
           });

Logo

前往低代码交流专区

更多推荐