javascript 如何获取元素在数组中的位置 key

vara=newArray("a","b","c","d");varf="b";怎么才能知道"b"在a中的位置,是0还是1还是2??有没有什么函数可以直接得到"b"的位置... var a=new Array("a","b","c","d");
var f="b";
怎么才能知道"b"在a中的位置,是 0 还是 1 还是 2 ??
有没有什么函数可以直接得到"b"的位置 1 或者返回它的键名也可以。。

非常感谢大家的回答。开始只是为了图方便,可能真是没有这样的函数,如果有,它可能也得从头开始找。。。那和for就没区别了。。。

function position(value,array){
for(var i in array){
if(array[i]==value){return i;break;}
}
}

只能先这样了
展开
 我来答
洪秋梵雅GB
2007-08-22 · TA获得超过4875个赞
知道小有建树答主
回答量:901
采纳率:0%
帮助的人:928万
展开全部
你这样存进去的是没有key的,正确的写法应该是
var a=new Array({key:'1',value:"a"},{key:'2',value:"b"},{key:'3',value:"c"},{key:'4',value:"d"});
下面写了个例题

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<HTML>
<HEAD>
<TITLE> New Document </TITLE>
<META NAME="Generator" CONTENT="EditPlus">
<META NAME="Author" CONTENT="">
<META NAME="Keywords" CONTENT="">
<META NAME="Description" CONTENT="">
</HEAD>

<BODY>
<SCRIPT LANGUAGE="JavaScript">
<!--
function Map( ){
this.elements = new Array();

this.init = function( _e ){
this.elements = _e ;
}
this.put = function(key, value) { // 加入元素
this.elements.push({key: key, value:value});
}

this.getByValue = function( _value) { // 取出对应value
try{
for (i = 0; i < this.elements.length; i++) {
if (this.elements[i].value == _value) {
return this.elements[i].key;
}
}
}catch(e) {
return null;
}
}
this.getByKey = function( _key) { // 取出对应key
try{
for (i = 0; i < this.elements.length; i++) {
if (this.elements[i].key == _key) {
return this.elements[i].value;
}
}
}catch(e) {
return null;
}
}
}

//使用例题
var a=new Array({key:'1',value:"a"},{key:'2',value:"b"},{key:'3',value:"c"},{key:'4',value:"d"});
var value = "b";

var map = new Map();
map.init( a );
alert( map.getByValue( value ) );
//-->
</SCRIPT>
</BODY>
</HTML>
赛杏ka
2007-08-23 · 超过55用户采纳过TA的回答
知道答主
回答量:142
采纳率:0%
帮助的人:0
展开全部
为什么不用字典组件,费用数组呀,像你这种需求很适合用dictionary的
var dic = new ActiveXObject("Scripting.Dictionary");
dic.Item("YourKey") = yourOBj;
取出来的时候使用
dic.Item("YourKey");就可以了
好好看看JScript的帮助文档
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
醉饿之神
2007-08-22 · 超过26用户采纳过TA的回答
知道答主
回答量:130
采纳率:0%
帮助的人:77万
展开全部
用循环挨个比较
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
alighting9
2007-08-22 · TA获得超过1469个赞
知道大有可为答主
回答量:3972
采纳率:0%
帮助的人:2329万
展开全部
应该有这种函数的
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 2条折叠回答
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式