您可以将句柄传递给 JavaScript 中的 class 实例吗?
Can you pass a handle to a class instance in JavaScript?
我是 JavaScript 的新手。我有一个 NodeJS Express 应用程序,它创建一个 class 的实例数组。我想为客户端提供一个实例句柄,这样服务器就不必为每个 API 调用按 ID 查找实例。数组索引可能会随着实例的删除而改变。有没有一种干净的方法可以做到这一点?
考虑使用 Map 或对象,而不是使用数组,因为它们的键查找是次线性的(并且比对数组使用 findIndex
快得多)。例如,而不是
const handles = [];
// when you need to add an item:
handles.push(new Handle(1234));
// when you need to retrieve an item:
const handle = handles.find(obj => obj.id === id)
// will be undefined if no such handle exists yet
做
const handles = new Map();
// when you need to add an item:
handles.set(1234, new Handle(1234));
// when you need to retrieve an item
const handle = handles.get(id);
// will be undefined if no such handle exists yet
也无需担心使用此方法重新编制索引。
我是 JavaScript 的新手。我有一个 NodeJS Express 应用程序,它创建一个 class 的实例数组。我想为客户端提供一个实例句柄,这样服务器就不必为每个 API 调用按 ID 查找实例。数组索引可能会随着实例的删除而改变。有没有一种干净的方法可以做到这一点?
考虑使用 Map 或对象,而不是使用数组,因为它们的键查找是次线性的(并且比对数组使用 findIndex
快得多)。例如,而不是
const handles = [];
// when you need to add an item:
handles.push(new Handle(1234));
// when you need to retrieve an item:
const handle = handles.find(obj => obj.id === id)
// will be undefined if no such handle exists yet
做
const handles = new Map();
// when you need to add an item:
handles.set(1234, new Handle(1234));
// when you need to retrieve an item
const handle = handles.get(id);
// will be undefined if no such handle exists yet
也无需担心使用此方法重新编制索引。