js怎么比较对象中数组的长度?

JavaScript015

js怎么比较对象中数组的长度?,第1张

//自定义的排序函数

function sortFun(prop , rev){

    //根据prop属性排序,根据rev决定升序还是降序

    if(rev === undefined){

        rev =1

    }else {

        rev =(rev) ? 1 : -1

    }

    return function (a,b){

        let val1 = a[prop]

        let val2 = b[prop]

        if(val1 < val2){

            return rev * -1

        }

        if(val1 > val2){

            return rev * 1

        }

        return 0

    }

}

function clickFun() {

    var gradeOne = {

        classOne: ['语蕊', '杨文丽', '耿雨真', '能宏达', '介山槐'],

        classTwo: ['暨嘉运', '白秋', '永黛娥', '廖俊风'],

        classThree: ['苌晶滢', '夏菡', '慕容天青', '释鸿文', '隋乐咏', '衣月桂', '闫雨华']

    }

    var example =[]

//instanceof Array

    for(var key in gradeOne){

        var arr = gradeOne[key]

        if( arr instanceof Array ){//判断这个属性的值是否为数组

            example.push({"key": key, "len": arr.length})//放入到example中,方便后面排序

        }

    }

//调用sort方法进行排序

    example.sort(sortFun('len', false))//false为降序

    debugger

    console.log(example[0].key)//降序排列,所以第一个就是最多的

}

① 利用数组的length属性来判断,length=0->这个数组就是空数组;

② 或者利用数组的各种方法和字符串方法,比如toString();

如果转成字符串是空字符串,则这个数组就是空数组;

③当然还有其他方法,比如直接打印出这个数组,看看结果是不是空的;