En JS, il n'existe aucune fonction qui puisse être utilisée directement pour déterminer si une valeur est dans un tableau. Par exemple, il existe la fonction in_array() en PHP. Mais nous pouvons écrire une fonction comme in_array() pour déterminer si une valeur est dans la fonction.
/** * JS判断一个值是否存在数组中 */ // 定义一个判断函数 var in_array = function(arr){ // 判断参数是不是数组 var isArr = arr && console.log( typeof arr==='object' ? arr.constructor===Array ? arr.length ? arr.length===1 ? arr[0]:arr.join(','):'an empty array': arr.constructor: typeof arr ); // 不是数组则抛出异常 if(!isArr){ throw "arguments is not Array"; } // 遍历是否在数组中 for(var i=0,k=arr.length;i<k;i++){ if(this==arr[i]){ return true; } } // 如果不在数组中就会返回false return false; } // 给字符串添加原型 String.prototype.in_array = in_array; // 给数字类型添加原型 Number.prototype.in_array = in_array; // 声明一个数组 var arr = Array('blue','red','110','120'); // 字符串测试 var str = 'red'; var isInArray = str.in_array(arr); alert(isInArray); // true // 数字测试 var num = 119; var isInArray = num.in_array(arr); alert(isInArray); // false
Si l'entrée n'est pas un tableau, une exception sera levée
/** * JS判断一个值是否存在数组中 */ // 定义一个判断函数 var in_array = function(arr){ // 判断参数是不是数组 var isArr = arr && console.log( typeof arr==='object' ? arr.constructor===Array ? arr.length ? arr.length===1 ? arr[0]:arr.join(','):'an empty array': arr.constructor: typeof arr ); // 不是数组则抛出异常 if(!isArr){ throw "arguments is not Array"; } // 遍历是否在数组中 for(var i=0,k=arr.length;i<k;i++){ if(this==arr[i]){ return true; } } // 如果不在数组中就会返回false return false; } // 给字符串添加原型 String.prototype.in_array = in_array; // 给数字类型添加原型 Number.prototype.in_array = in_array; // 声明一个数组 var arr = null; // 字符串测试 var str = 'red'; var isInArray = str.in_array(arr); alert(isInArray); // uncaught exception: arguments is not Array
signalera directement une erreur.
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!