js某一元素在数组中的索引
第一种:数组遍历
function search(arr,dst){
var i = arr.length;
while(i-=1){
if (arr[i] == dst){
return i;
}
}
return false;
}
使用方法:
var a=[1,2,3,4];
search(a,3);//返回2
第二种:indexOf()
var arr=[1,2,3,4]
arr.indexOf(2);//返回1
在某些IE版本中,不支持indexOf(),就需要先判断Array是否有indexOf()方法
var arr=[1,2,3,4]
if (!Array.indexOf){
Array.prototype.indexOf=function(obj){
var i=this.length;
while(i-=1){
if(this[i]==obj){
return i;
}
}return -1;
}
}
arr.indexOf(3);//返回2
三、构造函数
原理就是方法二中兼容IE所采用的方法一样,构造一个新的函数
Array.prototype.weizhi=function(obj){
var i=this.length;
for(i;i!=0;i-=1){
if(this[i]===obj){
return i;
}
}return false;
}
var arr=[1,2,3,4]
arr.wenzi(3);//返回2
第四种:一个数组 ,分别在另一个数组中的位置(也可以用来检索一个元素 ,视需求所改变)
<script type="text/javascript">
var array=['a','b','c','d','c'];//总数组
var val = ['a','d']//要检索的数组
var inde=[];//获取的下标数组
for(var i=0;i<array.length;i++){
for(var x in val){
if(array[i]==val[x]){
inde.push(i)
}
}
}
console.log(inde)
</script>
原文地址:https://www.cnblogs.com/newgold/p/4877354.html
js某一元素在数组中的索引的更多相关文章
- 三种JS方法确定元素在数组中的索引值
第一种:数组遍历 function search(arr,dst){ var i = arr.length; while(i-=1){ if (arr[i] == dst){ return i; } ...
- jquery中找到元素在数组中位置,添加或者删除元素的新方法
一:查找元素在数组中的位置 jQuery.inArray()函数用于在数组中搜索指定的值,并返回其索引值.如果数组中不存在该值,则返回 -1. jQuery.inArray( value, array ...
- js小练习-移除数组中的元素
移除数组 arr 中的所有值与 item 相等的元素,直接在给定的 arr 数组上进行操作,并将结果返回 代码: <!DOCTYPE HTML><html> <he ...
- js能力测评——移除数组中的元素
移除数组中的元素 题目描述 : 移除数组 arr 中的所有值与 item 相等的元素.不要直接修改数组 arr,结果返回新的数组 示例1 输入 [1, 2, 3, 4, 2], 2 输出 [1, 3, ...
- js学习笔记之在数组中删除重复的元素自保留一个
遍历要删除的数组arr, 把元素分别放入另一个数组tmp中,在判断该元素在arr中不存在才允许放入tmp中 <script type="text/javascript"> ...
- 求出数组前面k个元素或数组中元素大于一半的元素(快速排序与堆排序的灵活运用)
写这个的目的在于,说明快速排序的灵活运用.我们来看下关于快速排序中的一部分关键代码: 快速排序代码: int a[101],n;//定义全局变量,这两个变量需要在子函数中使用 void quickso ...
- 用js刷剑指offer(数组中的逆序对)
题目描述 题目描述 在数组中的两个数字,如果前面一个数字大于后面的数字,则这两个数字组成一个逆序对.输入一个数组,求出这个数组中的逆序对的总数P.并将P对1000000007取模的结果输出. 即输出P ...
- 用js刷剑指offer(数组中出现次数超过一半的数字)
题目描述 数组中有一个数字出现的次数超过数组长度的一半,请找出这个数字.例如输入一个长度为9的数组{1,2,3,2,2,2,5,4,2}.由于数字2在数组中出现了5次,超过数组长度的一半,因此输出2. ...
- js 按元素向数组中最佳删除元素
追加::: var a = [];// 创建数组 a.push(1); // 添加到最后 a.unshift(); // 添加到第一个位置 删除:::如果你没有使用第三方框架,有类似的扩展功能可以根据 ...
随机推荐
- PID控制算法的简单分析和仿真!
PID算法简单剖析如下: 1.首先我们来看一下PID系统的基本组成模块: 如图所示,图中相关参数的表示如下: r(t):系统实际上需要的输出值,这是一个标准值,在我们设定了之后让这个系统去逼近的一个值 ...
- webpack4的总结
1. https://juejin.im/post/5c1fa158f265da613c09cb36
- Python+Selenium+Pycharm
我的环境是: 系统 Python Selenium win10 教育版64位 3.6.4 3.11.0 在Pycharm中安装好Selenium后,输入代码来测试: from selenium imp ...
- 红帽 Red Hat Linux相关产品iso镜像下载【百度云】【更新7.2】
RedHat Enterprise Server 6.7 for i386 Boot Disk:rhel-server-6.7-i386-boot.iso SHA-256 Checksum: 798d ...
- 转 Using Async for File Access
原文:https://msdn.microsoft.com/en-us/library/jj155757.aspx using System; using System.Collections.Gen ...
- SpringCloud中之Ribbon实现负载均衡
之前都不能够理解负载均衡,不知道其怎么实现.现在学习了ribbon后,知道了可以开启多个服务实例,那么选择其中一个服务实例的策略就是负载均衡了,感觉还是很神奇的.
- shell变量的使用及输入输出
1.shell 中变量名可以由字母,数字,下划线组成,但数字不能作为变量名的第一个数字 2.通过赋值符合“=” 来定义一个变量的值 如 myname='zhangjunjie' #字符串类型,不解析 ...
- Jedis自己整理比较全的API
package com.tebon.ams.utils; import com.alibaba.fastjson.JSON;import com.tebon.ams.util.ObjectUtil;i ...
- Gym 101606L - Lounge Lizards - [计算几何+LIS]
题目链接:https://codeforces.com/gym/101606/problem/L 题解: 在同一条线上的所有蜥蜴,他们的斜率都是相通的,换句话说可以直接通过斜率将蜥蜴分组. 每一组即代 ...
- jmeter 入门学习-通过代理录制测试脚本
通过jmeter代理录制脚本后,会产生大量的无用的请求,尽管在代理中已经过滤了一部分图片或者CSS.JS文件. 手动查看主要的请求:这里主要关注登陆请求,要确定有效的URL请求 删除除/Login.a ...