已关闭,此问题为opinion-based。目前不接受答复。
**想改善这个问题吗?**更新问题,以便editing this post可以用事实和引用来回答。
5小时前关闭
Improve this question
我正在学习JavaScript中的对象,我使用了一个用户示例,但我有一个问题。
let users = [
{
"id": "1",
"name": "John",
"age": 20,
"address": "123 Main Street"
},
{
"id": "2",
"name": "Emma",
"age": 23,
"address": "12 Main Street"
}
]
console.log(users[0].id);
在这段代码中,我使用users[0]访问John,但John的ID是'1',我使用[0]作为数组索引样式。所以,我觉得有点困惑。这是正确的,还是我编码错误?它是否遵循一个公认的风格?
我想给予用户ID,但索引号与ID号看起来很奇怪。
3条答案
按热度按时间46qrfjad1#
要从users数组中查找表示John的对象,可以使用find方法。
find
方法迭代users数组的元素,并返回满足所提供条件的第一个元素。在本例中,条件user.name === "John"
检查每个用户对象的name属性是否等于John
。下面是一个示例,说明如何做到这一点:
s1ag04yj2#
您可以通过array.find按id搜索数组
elcex8rz3#
当引用对象时,比如具有(理论上)唯一ID的用户,最佳实践通常要求将它们存储在hashmap(ish)键值结构中。在这种情况下,您需要为用户创建唯一的ID(我推荐使用uuid之类的东西来确保唯一的ID)。这个对象仍然可以被迭代,但更重要的是,您可以立即通过对象的id引用对象,而不需要遍历数组来找到所需的用户。应用于您的示例的这种方法看起来像这样:
最佳实践是删除id参数,以便为id提供一个真实值来源,但为了方便起见,也可以保留它。
希望这有帮助!