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
Javascript JS中数组搜索中includes和hasOwnProperty的区别_Javascript_Arrays_Search - Fatal编程技术网

Javascript JS中数组搜索中includes和hasOwnProperty的区别

Javascript JS中数组搜索中includes和hasOwnProperty的区别,javascript,arrays,search,Javascript,Arrays,Search,就时间和空间复杂度而言,includes和hasOwnProperty在JS中搜索数组中的元素有什么区别 两者都可用于查找数组中是否存在元素。包含正在检查数组是否包含指定的值,而hasOwnProperty则检查数组是否在其uu proto\中指定了属性名: const arr = [1, 2, 3]; arr.prop = 'Some prop'; arr.includes(2); // -> true arr.hasOwnProperty(2); // -> false arr

就时间和空间复杂度而言,
includes
hasOwnProperty
在JS中搜索
数组中的元素有什么区别


两者都可用于查找
数组中是否存在元素。

包含
正在检查数组是否包含指定的值,而
hasOwnProperty
则检查数组是否在其uu proto\中指定了属性名:

const arr = [1, 2, 3];
arr.prop = 'Some prop';

arr.includes(2); // -> true
arr.hasOwnProperty(2); // -> false
arr.includes('prop'); // -> false
arr.hasOwnProperty('prop'); // -> true
两者都可以用于查找数组中是否存在元素

不对<代码>包含
检查数组中的任何元素是否与参数匹配
hasOwnProperty
检查数组是否具有与参数匹配的属性

$ const array = ['test', 'another'];
$ array.includes('test')
true
$ array.hasOwnProperty('test')
false
$ array.includes('length')
false
$ array.hasOwnProperty('length')
true

您可以看到,
includes
hasOwnProperty
不返回相同的结果,因此比较效率是毫无意义的。

hasOwnProperty
返回一个布尔值,指示您调用它的对象是否有一个带有参数名称的属性,以及每个人的
includes()
方法确定字符串是否包含指定字符串的字符。如果字符串包含字符,include方法返回true,否则返回false。而且,它是区分大小写的


最后,我认为这个问题是基于一个错误的假设。

.hasOwnProperty()
检查属性名称,而不是值。我投票以离题的方式结束这个问题,因为它基于一个错误的前提,因此毫无意义。因为它们搜索完全不同的东西,比较他们的效率是没有意义的。