JS array.includes()//数组中的数组// [['a']]。includes(['a'])返回false

问题描述 投票:0回答:2

TL; DR:下面的JavaScript代码返回false,在我期望true的地方,最好的解决方法是什么?

 console.log([['a']].includes(['a']))

我将数组推入数组(以在应用程序脚本中使用Google Sheets范围,但行为与常规JavaScript相同)。>>

我想检查我的父数组(我们称它为[[[[['a']]

)是否包含特定的子数组(如['a'])。不幸的是,当参数是数组时,array.includes()似乎无法按预期工作。 (据我所知,上面的代码在应为true时返回false)

我错过了什么吗?您认为最好的解决方法是什么?

TL; DR:下面的JavaScript代码在我期望为true的地方返回false,最好的解决方法是什么? console.log([['a']]。includes(['a']))我正在将数组推入数组(以使用...

javascript arrays google-apps-script google-sheets include
2个回答
3
投票
.includes()方法遍历要在其上调用的数组时,它将检查每个元素以查看其是否等于要测试的值,直到找到匹配项,或检查该数组的每个元素。正如您在上面看到的,当要测试的值是一个数组时,它将不起作用。

解决方法是编写您自己的.includes()函数,在其中循环遍历父数组中的所有子数组,并为每个子数组遍历每个元素,测试其是否等于其中的相应元素。测试数组。您可以为此使用.every() method

.every()

0
投票

JSON strigified

© www.soinside.com 2019 - 2024. All rights reserved.