javascript对象数组如何快速找出存储的某个对象
怪我咯
怪我咯 2017-04-11 12:07:39
[JavaScript讨论组]

例如有一个很大对象数组

var arr = [{
    id: 1, 
    name: 'a'
},{
    id: 10, 
    name: 'c'
}
.......
];

我现在有一个id = 10, 希望在这个arr中快速查询出这个对象

{
    id: 10,
    name: 'c'
}

我知道循环arr, 判断循环当前对象的id是否为10可以, 但是有没有更好的方法呢

怪我咯
怪我咯

走同样的路,发现不同的人生

全部回复(2)
大家讲道理
[
    {
        id: 1,
        name: 'a'
    },
    {
        id: 2,
        name: 'b'
    },
].find(function (x) {
    return x.id === 10
})

以上方法用的是分治法的思想,二分查找

高洛峰

数组就不太好弄了,要么把数组转成用id做key的hash,复杂度O(1),要么用二分查找复杂度O(logn)也还算效率高

热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板
关于我们 免责申明 举报中心 意见反馈 讲师合作 广告合作 最新更新
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号 技术交流群
PHP中文网订阅号
每天精选资源文章推送

Copyright 2014-2026 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号