例如,我有:
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'以获取属性标记的值。
我该如何解决这个问题?
正如其他答案所暗示的那样,遍历数组可能是最好的方法。但是我会把它放在它自己的函数中,并使它更抽象一些:
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
版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。