javascript的Array没有contains方法,有时候这会不方便,contains方法实现很简单
可以扩展Array类,如下:
1写法1. 2Array.prototype.contains = function(obj) { 3 var i = this.length; 4 while (i--) { 5 if (this[i] === obj) { 6 return true; 7 } 8 } 9 return false; 10} 11写法2. 12Array.prototype.contains = function (element) { 13 for (var i = 0; i < this.length; i++) { 14 if (this[i] == element) { 15 return true; 16 } 17 } 18 return false; 19}
或者是定义函数:
1function contains(a, obj){ 2 for(var i = 0; i < a.length; i++) { 3 if(a[i] === obj){ 4 return true; 5 } 6 } 7 return false; 8}
这样就可以方便的使用contains方法了:
1console.info([1, 2, 3].contains(2)); // => true,调用Array的扩展方法 2console.info([1, 2, 3].contains('2')); // => false 3console.info(contains([1, 2, 3],2));//true,调用自定义函数contains方法 4console.info(contains([1, 2, 3],'2'));//false