JavaScript空数组indexOf

菜鸟

我昨天经历了一些JS代码,但我听不懂。这是代码

var data = {
     name : 'Mr John',
     age : '29',
     location : 'New York',
     profession : 'Accoutant'
};

var allowedNull = [];

for (var i in data) {
     if (!data[i])
     {

          if (allowedNull.indexOf(i) < 0)
          {
               console.log('Empty');
          }
     }
}

如果脚本data具有空属性,则该脚本实际上会在控制台中打印“空” 我只是想知道,它是如何工作的调用indexOfallowedNull有人可以解释一下它是如何工作的。

小提琴:检查

Pierfrancesco

首先,该indexOf(i)方法返回可以在数组中找到给定元素的第一个索引;如果不存在,则返回-1。在这种情况下,流程为:

//loop over data object

for (var i in data) {

//if the current property is empty/undefined
 if (!data[i])
 {
      //and if this property is not present inside the allowedNull array
      if (allowedNull.indexOf(i) < 0)
      {
           // print empty
           console.log('Empty');
      }
 }
}

如果您尝试在数据对象中添加该属性test : '',则会在控制台中打印该属性Empty但是如果您test在allowedNull数组中添加属性,则不会打印var allowedNull = ['test']任何内容。

希望这会有所帮助!:)

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章