根据2个值获取数组中所在位置

fanqieo 2019-08-27 11:24:05
var array=[1,2,3,4,1,3,1,4,1,5]比如这样的一个数组,会重复
现在传入值 3,1 要能获返回索引6,也就是根据3,1这个2个值来确定
要怎么实现呢?
...全文
109 6 打赏 收藏 转发到动态 举报
写回复
用AI写文章
6 条回复
切换为时间正序
请发表友善的回复…
发表回复
suwa_daimyoujin 2019-08-27
  • 打赏
  • 举报
回复
var array=[1,2,3,4,1,3,1,4,1,5]; (function (m,n) { window.a = m; window.a_nex=n; })(3,1); for(var i=0;i<=array.length-1;i++){ if(array[i]==a&&array[i+1]==a_nex){ console.log(i+1); } }
文盲老顾 2019-08-27
  • 打赏
  • 举报
回复
Array.prototype.arrIndexOf = function(x){
  for(var i=0;i<this.length-x.length+1;i++){
    var arr = this.slice(i,i+x.length);
    var r = true;
    for(var j=0;j<x.length;j++){
      if(x[j]!=arr[j]){
        r=false;
        break;
      }
    }
    if(r){return i;}
  }
  return -1;
}
console.log([1,2,3,4,1,3,1,4,1,5].arrIndexOf([3,1]))
变量冲突了。。。
文盲老顾 2019-08-27
  • 打赏
  • 举报
回复

Array.prototype.arrIndexOf = function(arr){
  for(var i=0;i<this.length-x.length+1;i++){
    var arr = this.slice(i,i+x.length);
    var r = true;
    for(var j=0;j<x.length;j++){
      if(x[j]!=arr[j]){
        r=false;
        break;
      }
    }
    if(r){return i;}
  }
  return -1;
}
console.log([1,2,3,4,1,3,1,4,1,5].arrIndexOf([3,1]))
天际的海浪 2019-08-27
  • 打赏
  • 举报
回复
更新回复

function getindex(na,oa) {
	var index = 0;
	w: while ((index = na.indexOf(oa[0],index+1))!=-1) {
		for (var i = 1; i < oa.length; i++) {
			if (na[index+i]!=oa[i])
				continue w;
		}
		return index+1;
	}
	return "没找到";
}
alert(getindex([1,2,3,4,1,3,1,4,1,5], [3,1]));
天际的海浪 2019-08-27
  • 打赏
  • 举报
回复
数组的索引正常应当从0开始算,如果要从1开始算则返回值加1。 return index+1;
天际的海浪 2019-08-27
  • 打赏
  • 举报
回复

function getindex(na,oa) {
	var index = 0;
	w: while ((index = na.indexOf(oa[0],index+1))!=-1) {
		for (var i = 1; i < oa.length; i++) {
			if (na[index+i]!=oa[i])
				continue w;
			break w;
		}
	}
	return index;
}
alert(getindex([1,2,3,4,1,3,1,4,1,5], [3,1]));
代码下载地址: https://pan.quark.cn/s/581cd7c6c6b7 在信息技术行业,JavaScript(缩写为JS)主要应用于网页的前端交互功能,然而借助特定的技术手段,它同样能够完成与硬件设备例如串口通信的连接。所提及的标题“js接收串口数据,测试过完全可用的,不骗人”明确指出这是一个已经成功实现了JavaScript串口通信的案例,或许是一个规模较小的Web应用程序或网页模型,具备接收和处理串口发送的数据的能力。描述中指出,该应用程序被用于接收GPS数据,这通常关联到物联网(IoT)的应用场景,通过串口将GPS模块所采集的位置信息传递给JavaScript进行后续处理。"mscomm32.ocx"是由微软公司推出的一款ActiveX控件,其主要功能是进行串行通信,这表明这个解决方案可能基于ActiveX技术,而ActiveX控件主要在Internet Explorer浏览器中得到广泛支持。由于ActiveX控件存在安全方面的隐患以及现代浏览器对其功能的限制,使用时可能需要在用户计算机系统中进行注册表的编辑操作,以启用该控件。这一过程需要用户具备相应的操作权限,并且可能引发一定的安全风险。 在标签中,“js 接收串口数据 真正 可用的代码”进一步证实了这个资源是一个有效的JavaScript代码实现,适用于实际应用,且经过验证可以正常工作。压缩包内的"test.html"文件可能是用来演示如何运用此串口通信功能的测试性网页,用户可以通过打开这个HTML文档来观察和测试代码的执行效果。"说明文档.txt"文件则很可能包含了详细的操作步骤、使用提示或代码说明的文本资料,涵盖了如何设置环境、注册控件以及如何运用JavaScript代码与串口进行...

87,987

社区成员

发帖
与我相关
我的任务
社区描述
Web 开发 JavaScript
社区管理员
  • JavaScript
  • 无·法
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧