开发者社区> 问答> 正文

如何在JavaScript中通过对象的属性获取索引?

例如,我有:

var Data = [ { id_list: 1, name: 'Nick', token: '312312' }, { id_list: 2, name: 'John', token: '123123' }, ] 然后,例如,我想通过对该对象进行排序/反转name。然后我想得到这样的东西:

var Data = [ { id_list: 2, name: 'John', token: '123123' }, { id_list: 1, name: 'Nick', token: '312312' }, ] 现在,我想知道具有属性的对象的索引,name='John'以获取属性标记的值。

我该如何解决这个问题?

展开
收起
保持可爱mmm 2020-01-16 16:10:11 389 0
1 条回答
写回答
取消 提交回答
  • 正如其他答案所暗示的那样,遍历数组可能是最好的方法。但是我会把它放在它自己的函数中,并使它更抽象一些:

    function findWithAttr(array, attr, value) { for(var i = 0; i < array.length; i += 1) { if(array[i][attr] === value) { return i; } } return -1; }

    var Data = [ {id_list: 2, name: 'John', token: '123123'}, {id_list: 1, name: 'Nick', token: '312312'} ]; 这样,您不仅可以找到哪个包含“ John”,还可以找到哪个包含令牌“ 312312”:

    findWithAttr(Data, 'name', 'John'); // returns 0 findWithAttr(Data, 'token', '312312'); // returns 1 findWithAttr(Data, 'id_list', '10'); // returns -1 问题来源于stack overflow

    2020-01-16 16:10:23
    赞同 展开评论 打赏
问答排行榜
最热
最新

相关电子书

更多
JavaScript面向对象的程序设计 立即下载
Delivering Javascript to World 立即下载
编程语言如何演化-以JS的private为例 立即下载