【发布时间】:2020-02-07 11:48:50
【问题描述】:
这是一个 obj。
var person = {
no: 4,
name: "Jack",
hobbies:["soccer, dancing"],
club: "lion"
}
这里是对象数组。
var club = {
no: 2,
name: "lion",
teacher: "Linda",
num: 24
students: [person, person2, person3, ...]
}
var school = {
no: "NW-10",
name: "The school of Victory",
address: "23 Vega St. Gorgia, Texas",
classes: [club, club2, club3, ...]
}
我想在学校找一门课。学校只是其中之一。而Class、Person是多重的。
我想添加、删除、编辑它所属的school 和class。
有没有办法找到一个有索引的对象?我的意思是像一个HashMap。您可以使用这样的字符串访问值。
var mAge = mPerson["age"];
var mAge = mPerson.age;
我可以使用 for 循环找到对象,但是登录似乎非常复杂,效率不如 O(n^2)。
编辑
我想在一个带有 Object 的数组中完成 get、put、remove、edit。
例如,
我想删除person3。然后,我可以像这样找到它的类。
school[person.club].remove(); // The club item is removed.
school2[person.club].put(2); // The club item is added after second club object.
它将在 O(n) 中找到该项目。
【问题讨论】:
-
您的对象是无效的 JavaScript。这是不正确的:
hobbies:{"soccer, dancing"}. -
你可以使用array.find
-
您能否添加更多关于您要完成的任务的详细信息?
-
像
students: [person, person2, person3, ....]一样创建
标签: javascript node.js object hashmap