获取obj对象中值为空的键的个数

这个是下午朋友问我的一个问题,当时自己也不知道该怎么写,就想了想,没有直接判断的方法的话,我们先获取obj对象中的属性为多少个,然后再统计属性中值为空的行不行呢?
首先创建一个对象

var test_obj = {
    key1:1,
    key2:"",
    key3:3,
    key4:undefined,
    key5:5,
    key6:"",
    key7:undefined,
    key8:"",
    key9:undefined,
    }
//然后写一个获取当前对象个数的方法试试
function objCount(obj) {
        var t = typeof obj;
        if (t == 'string') {
            return obj.length;
        } else if (t == 'object') {
            var n = 0;
            for (var i in obj) {
                n++
            }
            return n;
        }
        return false;
    }
console.log(objCount(test_obj));//然后运行一下,输出的是9没问题
//然后想了想如何判断键值是否为空呢?上代码
if(!obj[i]){
    console.log("该键值为空");
}
//然后将两者结合在一起就好了
function count(obj) {
        var t = typeof obj;
        if (t == 'string') {
            return obj.length;
        } else if (t == 'object') {
            var n = 0;
            for (var i in obj) {
                if(!obj[i]){
                    n++;
                }
            }
            return n;
        }
        return false;
    }
//这样调用该方法就能顺利的计算出当前对象键值为空的个数了

恩,就是这样不是很复杂,主要是要按照自己的思路一步一步的来。
谢谢大家!!!

©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 函数和对象 1、函数 1.1 函数概述 函数对于任何一门语言来说都是核心的概念。通过函数可以封装任意多条语句,而且...
    道无虚阅读 4,661评论 0 5
  • 国家电网公司企业标准(Q/GDW)- 面向对象的用电信息数据交换协议 - 报批稿:20170802 前言: 排版 ...
    庭说阅读 11,150评论 6 13
  • 第一部分 HTML&CSS整理答案 1. 什么是HTML5? 答:HTML5是最新的HTML标准。 注意:讲述HT...
    kismetajun阅读 27,712评论 1 45
  • Swift1> Swift和OC的区别1.1> Swift没有地址/指针的概念1.2> 泛型1.3> 类型严谨 对...
    cosWriter阅读 11,142评论 1 32
  • 面向对象的语言有一个标志,那就是它们都有类的概念,而通过类可以创建任意多个具有相同属性和方法的对象。ECMAScr...
    DHFE阅读 997评论 0 4