javascript - 如何快速查找json数据呢
仅有的幸福
仅有的幸福 2017-05-18 10:47:13
0
3
759

如何快速查找json数据呢
如下图所示,已知id,查找name值

仅有的幸福
仅有的幸福

全部回复(3)
世界只因有你

假设你的原始数据是这样的:

var arr = [{
    id:1,
    name:'a'
},{
    id:2,
    name:'b'
}];

现在你可以一次性的转换一下数据格式为:

var obj = {};
arr.forEach(function (v,i) {
    obj[v.id] = v;
});

obj = {
    1:{
        id:1,
        name:'a',
    },
    2:{
        id:2,
        name:'b'
    }
};

然后就可以根据id,直接拿到name了

obj[id].name

其实上面的效率还是比较低的。

既然已经循环了,就直接从循环里那对应的字段

function getNameById(id) {
    var name = '';
    arr.forEach(function (v,i) {
        if (v.id==id) {
            name = v.name;
            console.log(i);
            return;
        }
    });
    return name;
}

上面两种方法的区别就是,如果不停的重复获取值,选择第一种方法,因为只需要循环一次,后面不需要再循环了。
第二种方法每次获取都要重新循环一遍

左手右手慢动作

赞同楼上的说法,改变数据结构。把id变成key。把其他的东西变成value如果不需要其他的可以直接把name变成value

过去多啦不再A梦

雷雷

热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板
关于我们 免责声明 Sitemap
PHP中文网:公益在线PHP培训,帮助PHP学习者快速成长!