javascript - 如何快速找到json資料呢
仅有的幸福
仅有的幸福 2017-05-18 10:47:13
0
3
766

如何快速找出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梦

雷雷

熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板