javascript中判断一个值是否在数组中并没有直接使用

在JS中要判断一个值是否在数组中并没有函数直接使用,如PHP中就有in_array()这个函数。但我们可以写一个类似in_array()函数来判断是一个值否在函数中

例1


代码如下:

/*
*
* 判断在数组中是否含有给定的一个变量值
* 参数:
* needle:需要查询的值
* haystack:被查询的数组
* 在haystack中查询needle是否存在,如果找到返回true,否则返回false。
* 此函数只能对字符和数字有效
*
*/

function findnum(){
var a=[1,2];//假设a是数组,obj是要判断的数
var obj=1;
var b = false;
for (var i = 0; i < a.length; i++) {
if (a[i] == obj) {
b = true;break;
}
}
if (b)
alert("数组中存在a[" + i + "]:" + a[i]);
else
alert("数组中不存在"+obj);
}

例2


代码如下:

/**
* 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
如果传入的不是数组则会抛出异常
/**
* 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
JS判断一个数组中是否有重复值的
var ary = new Array("111","22","33","111");
var s = ary.join(",")+",";
for(var i=0;i<ary.length;i++) {
if(s.replace(ary[i]+",","").indexOf(ary[i]+",")>-1) {
alert("数组中有重复元素:" + ary[i]);
break;
}
}

例5


代码如下:

function isRepeat(arr){
var hash = {};
for(var i in arr) {
if(hash[arr[i]])
return true;
hash[arr[i]] = true;
}
return false;
}

(0)

相关推荐

  • Javascript中判断变量是数组还是对象(array还是object)

    怎样判断一个JavaScript变量是array还是obiect? 答案: 1.如果你只是用typeof来检查该变量,不论是array还是object,都将返回'objec'. 此问题的一个可行的答案是是检查该变量是不是object,并且检查该变量是否有数字长度(当为空array时长度也可能为0). 然而,参数对象[arguments object](传给制定函数的所有参数),也可能会适用于上述方法,技术上来说,参数对象并不是一个array. 此外,当一个对象有a.length属性的时候,这个方

  • JS判断数组中是否有重复值得三种实用方法

    方法一: 复制代码 代码如下: var ary = new Array("111","22","33","111"); var s = ary.join(",")+","; for(var i=0;i<ary.length;i++) { if(s.replace(ary[i]+",","").indexOf(ary[i]+",&qu

  • javascript判断变量是否有值的方法

    本文实例讲述了javascript判断变量是否有值的方法.分享给大家供大家参考.具体分析如下: 例如: var a = null; var b = undefined; 以上这两种情况算作没有值 if(a !== null && a !== undefined) { // } // 为什么不能单用if(a !== null) { // } var a; a !== null; // true // 为什么不能单用if(a !== undefined) { // } var a = null

  • 判断一个变量是数组Array类型的方法

    在很多时候,我们都需要对一个变量进行数组类型的判断.JavaScript中如何判断一个变量是数组Array类型呢?我最近研究了一下,并分享给大家,希望能对大家有所帮助. JavaScript中检测对象的方法 1.typeof操作符 这种方法对于一些常用的类型来说那算是毫无压力,比如Function.String.Number.Undefined等,但是要是检测Array的对象就不起作用了. 复制代码 代码如下: alert(typeof null); // "object" alert

  • JS 判断某变量是否为某数组中的一个值的3种方法(总结)

    1.正则表达式 js 中判断某个元素是否存在于某个 js 数组中,相当于 PHP 语言中的 in_array 函数. Array.prototype.in_array=function(e){ var r=new RegExp(','+e+','); return (r.test(','+this.join(this.S)+','));}; 用法如下: var arr=new Array(['b',2,'a',4]); arr.in_array('b');//判断'b'字符是否存在于 arr 数

  • javascript中判断一个值是否在数组中并没有直接使用

    在JS中要判断一个值是否在数组中并没有函数直接使用,如PHP中就有in_array()这个函数.但我们可以写一个类似in_array()函数来判断是一个值否在函数中 例1 复制代码 代码如下: /* * * 判断在数组中是否含有给定的一个变量值 * 参数: * needle:需要查询的值 * haystack:被查询的数组 * 在haystack中查询needle是否存在,如果找到返回true,否则返回false. * 此函数只能对字符和数字有效 * */ function findnum(){

  • Javascript中判断一个值是否为undefined的方法详解

    前言 相信大家都知道当声明一个变量,并且没有给赋值的情况下,它的初始值是undefined.但是在javascript中,怎么检查一个值是否为undefined呢? 简单来说,在现代浏览器中,你可以安全的比较变量是否为undefined if (name === undefined) {...} 一些人反对直接使用undefined变量进行比较,因为在旧的浏览器中允许它的值被重新赋值,比如下面这样: undefined = "test" 在被重新赋值后,使用undefined指令将不能

  • JavaScript中如何判断一个值的类型

    我们知道在js中有一个运算符可以帮助我们判断一个值的类型,它就是typeof运算符. console.log(typeof 123); //number console.log(typeof '123'); //string console.log(typeof true); //boolean console.log(typeof undefined); //undefined console.log(typeof null); //object console.log(typeof []);

  • Python实现在某个数组中查找一个值的算法示例

    第一种算法思路: 第一步:随机出来一个数组的下标 第二步:判断下标对应的值是否等于被查找的值,是的话终止,已找到,否的话转第三步. 第三步:判断是否随机完数组的所有下标,是的话终止,没找到,否的话转第一步. 代码如下: #本程序的功能是在字典中查找存在某个值 import random di = {'a':1,'b':2,'c':3,'d':4,'e':5,'f':6} key = 2 di1 = {} while True: tmp = random.choice(di.keys()) #随机

  • JavaScript判断变量名是否存在数组中的实例

    直接上代码: JavaScript代码: var array=[{name:"张珊",sex:"男"}]; console.log(array); if(array[0].name){ console.log('name');//返回name } if(array[0].size){ console.log('size') }else{ console.log('no size');//返回no size } 打印结果: 以上这篇JavaScript判断变量名是否存

  • php 删除一维数组中某一个值元素的操作方法

    1. 自己写for循环 从array里去掉$tmp这个元素的值 <?php $tmp = '324'; $arr = array( '0' => '321', '1' => '322', '2' => '323', '3' => '324', '4' => '325', '5' => '326', ); 代码 foreach( $arr as $k=>$v) { if($tmp == $v) unset($arr[$k]); } print_r($arr);

  • java如何删除以逗号隔开的字符串中某一个值

    目录 删除以逗号隔开的字符串中某一个值 移除以逗号分隔的字符串中指定元素 适用场景 核心代码 测试验证 删除以逗号隔开的字符串中某一个值 例如要删除 “1,2,3,4” 中的 2,返回 “1,3,4” import java.util.ArrayList; import java.util.Arrays; import java.util.List; public class test { public static void main(String[] args) { String str="

  • js判断一个对象是否在一个对象数组中(场景分析)

    目录 场景: 第一个场景解法:如果数组中已经存在,就不能添加 小结: 第二个场景解法: 对象数组去重 场景: 有一个对象数组,如: var arr = [{"appName":"小何","appId":"1"},{"appName":"小王","appId":"2"}] 一般来说,常见的场景有两个: 第一个是,比如鼠标点击按钮,往数组里push()

  • C#将hashtable值转换到数组中的方法

    本文实例讲述了C#将hashtable值转换到数组中的方法.分享给大家供大家参考.具体如下: 此代码可以将hashtable中的值通过copyto转换到一个一维数组 var length = ht.Count; Guest[] array = new Guest[length]; ht.Values.CopyTo(array, 0); 其中ht为hashtable,其key为字符串,value为一个Guest类,通过此代码可以讲values的值全部放入 Guest[] 的数组中 希望本文所述对大

随机推荐