当前位置: 首页 > 面试题库 >

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

姬康平
2023-03-14
问题内容

例如,我有:

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

编辑:
未找到时更新了函数以返回-1,因此它遵循与Array.prototype.indexOf()相同的结构



 类似资料:
  • 我想通过对象在Java中的属性来获取列表中对象的索引。 例: 现在,我想获取一个名为“Girish”的对象的索引。请务必让我知道JAVA中的代码。

  • 在 PowerShell 中,如何通过指定对象的名称(字符串)来获取对象的属性值?我想要类似这样的东西: 是否有类似于“获取属性名称”的内容?

  • 问题内容: 基本上,我有一个带有的表单,用于选择要使用的数据集(值分别为“ m”,“ f”和“ c”)。然后,我有一个字典/对象,其数据位于: 现在我需要/ / 但我不知道如何使用语法-我已经试过: 什么是正确的语法/方法? 问题答案: 由于您是通过变量引用属性,因此需要使用括号表示法。 …这与您传递字符串时使用的表示法相同。

  • 问题内容: 说我有一个对象: 我想用其属性的子集创建一个新对象。 我该如何实现? 问题答案: 使用对象分解和属性速记 来自Philipp Kewisch: 这实际上只是一个即时调用的匿名函数。所有这些都可以在MDN 的“ 解构分配”页面上找到。这是扩展形式

  • 本文向大家介绍如何获取JavaScript对象属性的子集?,包括了如何获取JavaScript对象属性的子集?的使用技巧和注意事项,需要的朋友参考一下 假设以下是我们的对象- 以下是仅获取子集的代码- 示例 要运行以上程序,您需要使用以下命令- 在这里,我的文件名为demo120.js。 输出结果 这将产生以下输出-

  • 说我有对象: 我想用它的属性的子集来制作一个新的对象。 我怎样才能做到这一点?