小编Ell*_*len的帖子

为什么我不能用array == []来检查数组是否为空?

这是来自CodeWars的一个问题,名为"肯定数/负数之和".它说:

如果输入数组为空或null,则返回一个空数组

要检查数组是否为空,我决定检查它是否为空数组.当我尝试做的时候:

if(input == [])
Run Code Online (Sandbox Code Playgroud)

我没有通过测试,但如果我这样做:

if(input.length == 0)
Run Code Online (Sandbox Code Playgroud)

我通过了考试.一个空数组应该等于[]对吗?为什么会有差异,这两个检查有什么区别?

我的代码如下:

function countPositivesSumNegatives(input) {
   var a = 0;
   var b = 0;
   if (input == null) {
      return []
   }
   if (input.length == 0) {
      return []
   }
   for (var i = 0; i < input.length; i++) {
      if (input[i] > 0) {
         a++;
      }
      if (input[i] < 0) {
         b += input[i];
      }
   }
   return [a, b]
}
Run Code Online (Sandbox Code Playgroud)

javascript arrays

6
推荐指数
1
解决办法
617
查看次数

标签 统计

arrays ×1

javascript ×1