我有 javascript 的基础知识。
我想存储链接到包含相同类型对象的集合中的对象的数据:
之后,我想用这些命令行获取有关记忆对象的数据
objectype(id).property
objectype(id).function()
结构示例
OBJECT
id = "uniqueID"
firstname= "firstname"
lastname = "lastname "
function_getfullname() = { return forthisID.firstname + " " + forthisID.lastname }
remove() = { remove from the collection this object (the object with this ID) }
价值观示例
OBJECT_1
id = 1
firstname= "john"
lastname = "doe"
OBJECT_2
id = 2
firstname= "david"
lastname = "thomas"
命令行:
如何:
非常感谢您的帮助!
除了不清楚您想要什么这一事实之外,这里有一种方法来解决您的“如何做”问题:
Object
sArray
.filter
从数组中删除项目.forEach
来循环数组以下内容足以使所有 4 点成为可能:
/******* IMPLEMENTATION *******/
let OBJECTS = [];
function addObject(id, firstname, lastname) {
OBJECTS.push({
id,
firstname,
lastname,
getfullname() {
return `${firstname} ${lastname}`;
},
remove() {
OBJECTS = OBJECTS.filter(x => x.id !== id);
}
});
}
function objectype(id) {
return OBJECTS.find(x => x.id === id);
}
function iterateObjects(callback) {
OBJECTS.forEach(callback);
}
function removeObject(id) {
OBJECTS = OBJECTS.filter(x => x.id !== id);
}
/******* TEST *******/
addObject(1, 'john', 'doe');
addObject(2, 'david', 'thomas');
console.log('firstname, ID 1', objectype(1).firstname);
console.log('lastname, ID 2', objectype(2).lastname);
iterateObjects(object => {
console.log('forEach: getfullname', object.getfullname());
});
removeObject(1);