javascript中判断一个值是否在数组中并没有直接使用
发布时间:2024-05-13 10:38:28
标签:in,array(),js数组
在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;
}
![](https://www.aspxhome.com/images/zang.png)
![](https://www.aspxhome.com/images/jiucuo.png)
猜你喜欢
- python具体强大的库文件,很多功能都有相应的库文件,所以很有必要进行学习一下,其中有一个ftp相应的库文件ftplib,我们只需要其中的
- Python异常是在程序执行时发生的错误,可能会导致程序终止运行。在Python中,异常处理是一种机制,它允许开发人员在程序发生异常时捕获、
- 一个简单的SQL 行列转换 Author: eaglet 在数据库开发中经常会遇到行列转换的问题,比如下面的问题,部门,员工和员工类型三张表
- Python 编程语言已经成为 IT 中使用的最流行的语言之一。成功的一个原因是它可以用来解决各种问题。从网站开发到数据科学、机器学习到任务
- 本文实例讲述了Zend Framework教程之Zend_Config_Ini用法。分享给大家供大家参考,具体如下:Zend_Config_
- 前言最近公司为客户重新部署了一套新环境,由我来完成了基础环境的配置,配置过程中总结了一些经验,分享给各位园友使用 curl 命令检查网络拿到
- 描述Python 字典(Dictionary) copy() 函数返回一个字典的浅复制。语法copy()方法语法:dict.copy()返回
- javascript 常见汉字转换成拼音,上下行排列,方便对比,速度快,你可以把代码复制到本地,作为一个不错的汉字转换拼音的工具!转换效果图
- 实现了宽度、高度、透明度的渐变,还能以高度宽度中点为中心,还扩展成以任意点为中心渐变(实例中以点击点为中心)。<!DOCTYPE ht
- 目录合理的创建索引设置数据库持久连接减少SQL的执行次数仅获取需要的字段数据使用批量创建、更新和删除,不随意对结果排序参考网址:Django
- 1、执行环境说明python版本3.7直接使用pip进行安装pywin32、pyinstallerpip install pywin32pi
- 转自: http://www.qqread.com/mysql/z442108305.html对于程序开发人员而言,目前使用最流行的两种后台
- 有很多时候,我们会在python的运行过程中得到一些重要的变量,比如一个数据量很庞大的dict。而且,后面的某些程序也会用到这个dict,那
- 一、Pandas如何将表格的前几行生成html实战场景:Pandas如何将表格的前几行生成html1.1主要知识点文件读写基础语法Panda
- 实现一个树形表格的时候有多种方法:比如把 ztree 的树形直接拼接成表格,或者用强大的 jqgrid 实现,今天介绍一个比较轻量级的实现:
- 一.基本数据类型整数:int字符串:str(注:\t等于一个tab键)布尔值: bool列表:list (元素的集合)列表用[]元祖:tup
- 环境:Python3.7依赖库:import datetimeimport randomimport requestsimport hash
- 如何做一个检索结果带链接的检索?具体代码和说明如下:<% data=request.form("search_da
- 在Web开发的时候,经常会遇到的一种情况就是浏览器提示脚本运行时间过长,停止还是继续,无论你选择什么,相信你都会想尽一切办法让这个对话框远离
- 本文实例讲述了golang语言中for循环语句用法。分享给大家供大家参考。具体分析如下:for循环是用来遍历数组或数字的。用for循环遍历字