如何存储和过滤大型 JSON 对象(超过 70,000 个)?
How can I store and filter large JSON objects (above 70,000)?
const users = [
{id:1, email:"abc@email.com"},
{id:2, email:"xyz@email.com"},
{....}(~70,000 objects)
]
function a(){
const id = 545
users.filter((value)=>{
if(value.id === id)
return true
})
}
我们有 70,000 个用户对象。我们需要根据 id 过滤电子邮件。
users= [{id: '1001', email: "abc@gmail.com"}, {{id: '1002', email: "spc@gmail.com"} , . .];
使用数组和 array.filter() 以错误告终。
错误
最好的方法是什么?
最好将您的数组转换为 Map,这样就可以在不扫描整个数组的情况下进行查找。因此:
const lookupMap = new Map(users.map((u) => [u.id, u]));
所以现在你可以
const user = lookupMap.get(userId)
无需扫描所有 70000 个用户对象。
const users = [
{id:1, email:"abc@email.com"},
{id:2, email:"xyz@email.com"},
{....}(~70,000 objects)
]
function a(){
const id = 545
users.filter((value)=>{
if(value.id === id)
return true
})
}
我们有 70,000 个用户对象。我们需要根据 id 过滤电子邮件。
users= [{id: '1001', email: "abc@gmail.com"}, {{id: '1002', email: "spc@gmail.com"} , . .];
使用数组和 array.filter() 以错误告终。
错误
最好的方法是什么?
最好将您的数组转换为 Map,这样就可以在不扫描整个数组的情况下进行查找。因此:
const lookupMap = new Map(users.map((u) => [u.id, u]));
所以现在你可以
const user = lookupMap.get(userId)
无需扫描所有 70000 个用户对象。