获取基于数组元素id的数组索引号

时间:2013-12-18 07:20:03

标签: javascript

我有一个包含对象的数组,每个对象都有一个div id。 我可以使用这个来基于id来检索给定对象的数组索引号吗?

var index = ar.map(function(el) {
  return el. ??
}).indexOf('objectID4'); 

3 个答案:

答案 0 :(得分:2)

像这样:

var index = ar.map(function(el) {
  return el.id;
}).indexOf('objectID4');

工作示例:http://jsfiddle.net/bvT6B/

答案 1 :(得分:0)

检查以下代码

var ar = [{'id':'objectId1','foo':'bar'},{'id':'objectId4','foo':'bar'}]

var index = ar.map(function(el) {
   return el.id;
}).indexOf('objectId4');

alert(index);

或者您可以在http://jsfiddle.net/VJrWc/

中看到

如果不是这样,您希望分享更多代码并明确目标。

答案 2 :(得分:-1)

这就是你想要的吗?

<div id="x1" class='foo'></div>
<div id="x2" class='foo'></div>
<div id="x3" class='foo'></div>

<div id="res"></div>
<script>
function getIndexOfById(uid) {
    var id = null;
    $('.foo').each(function() {
        if ($(this).attr('id') == uid) {id = $(this).index();}
    });
    return id;
}

$('#res').html(getIndexOfById('x1') + ' / ' + getIndexOfById('x2') + ' / ' + getIndexOfById('x3'));
</script>

结果是

0 / 1 / 2