繁体   English   中英

这两个“ isInArray”函数的区别?

[英]Differences on these two 'isInArray' functions?

哪个更准确/跨浏览器兼容?

例子1

if(!Array.isArray) {  
  Array.isArray = function (arg) {  
    return Object.prototype.toString.call(arg) == '[object Array]';  
  };  
}

https://developer.mozilla.org/en/JavaScript/Reference/Global_Objects/Array/isArray


例子2

function isInArray(arr,str) {
    return (arr.indexOf(str) != -1);
}

-我丢了源-

他们做的事情完全不同。

第一个测试以查看某物是否为数组。 第二个测试查看数组是否包含给定对象。

您正在比较苹果和桔子。

第一个函数检查对象是否为 and数组。 第二个函数检查数组中的值。

这些功能做不同的事情。 第一个尝试检查变量是否为数组,但是第二个尝试检查元素是否在给定数组中。 第一个也可能不会是可比的跨浏览器,只是因为它使用了文字值“ [object Array]”,但在各处可能都不尽相同,

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM