背景
开发中经常遇到需要从数组中读取某个对象,每次遍历数组查询并不是一个好的选择,会消耗无谓的资源,我们可以使用一个对象作为中间结构,后续再次读取对象是可以直接从中间对象中获取
开始
代码如下
/*
*快速通过key获取数组中的元素
*/
const array = [{ name: "lich", age: "19" }, { name: "dk" }];
// 定义一个对象
const cache = {};
// 遍历数组,以对象的唯一标识(name)作为key,设置到cache中
array.forEach((elem) => {
cache[elem.name] = elem;
});
// 看下数组与cache中的结构
console.log(array, cache);
// 快速读出lich
console.log(cache["lich"]);
// 快速读出dk
console.log(cache["dk"]);
debugger;
总结
- 通过对象的key检索value具有非常好的性能
- 该思想不仅可以用在javascript的开发中,java中一样可以用该思路进行快速检索(使用一个HashMap最为中间结构)