Javascript 如何在对象数组中找到对象?

Javascript 如何在对象数组中找到对象?,javascript,node.js,object,hashmap,Javascript,Node.js,Object,Hashmap,这是一个obj var person = { no: 4, name: "Jack", hobbies:["soccer, dancing"], club: "lion" } 这是对象阵列 var club = { no: 2, name: "lion", teacher: "Linda", num: 24 students

这是一个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, ...]
} 
我想在学校里找一个班。学校只有一所。而阶级、人是多重的

我想添加、删除、编辑它所属的学校和班级

有没有办法找到一个有索引的对象?我的意思是像一个HashMap。您可以使用如下字符串访问值

var mAge = mPerson["age"];
var mAge = mPerson.age;
school[person.club].remove(); // The club item is removed.

school2[person.club].put(2); // The club item is added after second club object.
我可以通过for循环找到对象,但是,登录似乎非常复杂,效率不如O(n^2)

编辑 我想在带有对象的数组中完成
get
put
remove
edit

比如说,

我想删除
人员3
。然后,我可以找到像这样的类

var mAge = mPerson["age"];
var mAge = mPerson.age;
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)中找到该项。

如果您需要特定的功能,我将为其创建一个函数。例如,您可以创建removeClub函数和putClub函数:

var person = {
    no: 4,
    name: "Jack",
    hobbies:["soccer, dancing"],
    club: "lion"
};

var club = {
    no: 2,
    name: "lion",
    teacher: "Linda",
    num: 24,
    students: [person]
}

var school = {
    no: "NW-10",
    name: "The school of Victory",
    address: "23 Vega St. Gorgia, Texas",
    classes: [club]
};

function removeClub(clubName){
  var clubIndex = school.classes.findIndex(c => c.name === clubName);
  school.classes.splice(clubIndex, 1);
}

function putClub(clubName, index){
  school.classes.splice(index, 0, clubName);
}

removeClub(person.club);
putClub(person.club,0);
console.log(school);

您的对象是无效的JavaScript。这是不正确的:
爱好:{“足球,跳舞”}
。这个:或者这个:你可以使用array.find你可以添加更多关于你想要完成的事情的细节吗?创建像
学生:[个人,个人2,个人3,…]
O(1)
中没有办法吗?我尝试了这个方法,我不知道一个对象是否也能工作。我做了
slice(index,1)
来删除对象元素,但它没有被删除。