微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

如何在字典列表中获取带有键的元素

如何解决如何在字典列表中获取带有键的元素

我有一个像这样的对象列表:

let colors = [
  {
    id: 0,color: "green",},{
    id: 1,color: "blue",{
    id: 2,color: "orange",];

使用 id=1 获取元素的最佳方式(最优化)是什么......有没有办法在不遍历列表的情况下做到这一点?

解决方法

小提示:

  • 当您不重新分配值时,请使用 const 而不是 let

尝试执行以下操作:

                          // ✅ good pattern: destructuring. We only use what we need
const myColor = colors.find(({ id }) => id === 1)
,

如果数组是静态的,您可以遍历整个数组一次并创建一个查找表。然后,可以在 O(n) 预处理后在恒定时间内完成查找。

let colors = [
  {
    id: 0,color: "green",},{
    id: 1,color: "blue",{
    id: 2,color: "orange",];
const lookup = colors.reduce((acc,curr)=>(acc[curr.id] = curr,acc),{});
console.log(lookup[1]);
console.log(lookup[2]);

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。