84669 Lernen von Personen
152542 Lernen von Personen
20005 Lernen von Personen
5487 Lernen von Personen
7821 Lernen von Personen
359900 Lernen von Personen
3350 Lernen von Personen
180660 Lernen von Personen
48569 Lernen von Personen
18603 Lernen von Personen
40936 Lernen von Personen
1549 Lernen von Personen
1183 Lernen von Personen
32909 Lernen von Personen
So finden Sie schnell JSON-DatenWie in der Abbildung unten gezeigt, ermitteln Sie den Namenswert, wenn die ID bekannt ist
假设你的原始数据是这样的:
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
fn(id) { return arr.filter(o => o.id === id)[0].name; // id一定有对应值的情况 }
假设你的原始数据是这样的:
现在你可以一次性的转换一下数据格式为:
然后就可以根据id,直接拿到name了
其实上面的效率还是比较低的。
既然已经循环了,就直接从循环里那对应的字段
上面两种方法的区别就是,如果不停的重复获取值,选择第一种方法,因为只需要循环一次,后面不需要再循环了。
第二种方法每次获取都要重新循环一遍
赞同楼上的说法,改变数据结构。把id变成key。把其他的东西变成value如果不需要其他的可以直接把name变成value