Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/384.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/arrays/12.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
为什么数组中不返回结果的filter方法在javascript中没有给出空数组?_Javascript_Arrays_Node.js_Methods - Fatal编程技术网

为什么数组中不返回结果的filter方法在javascript中没有给出空数组?

为什么数组中不返回结果的filter方法在javascript中没有给出空数组?,javascript,arrays,node.js,methods,Javascript,Arrays,Node.js,Methods,我试图在Javascript中的数组上使用条件过滤方法。我遇到的问题是,将空数组与应为空的筛选数组进行比较(因为筛选器不返回结果,而应根据返回空数组)并不能获得所需的结果 我已经尝试在终端的Node.js会话中创建空数组,也尝试在上的测试环境中创建空数组 //我的终端上的节点环境 const emptyArr = [] const arr2 = [1, 1, 2, 2] const testArr = arr2.filter((iso) => iso >= 3) testArr

我试图在Javascript中的数组上使用条件过滤方法。我遇到的问题是,将空数组与应为空的筛选数组进行比较(因为筛选器不返回结果,而应根据返回空数组)并不能获得所需的结果

我已经尝试在终端的Node.js会话中创建空数组,也尝试在上的测试环境中创建空数组

//我的终端上的节点环境

const emptyArr = []

const arr2 = [1, 1, 2, 2]

const testArr = arr2.filter((iso) => iso >= 3)

testArr === emptyArr //prints false, but should be true

预期结果应该为true,因为根据MDN,空筛选器返回空数组。然而,实际结果是错误的,这意味着过滤后的数组实际上不是空的。

以下是一篇文章,回答了这个问题:

[]=[]
false
,因为它们是两个不同的空数组

您需要比较两个数组的内容以确定相等性

在您的情况下,您可能需要检查长度,如下所示:

if(!arr1.length && !arr2.length) {
    /* do something */
}

在javascript中,数组是对象,两个对象的比较总是返回
false
。你应该投票以重复的方式结束问题,而不是给出自己的答案。我不知道如何解决:-(