您的位置:首页 > Web前端 > JavaScript

对json对象按照id精确查询并修改值

2017-11-14 09:05 281 查看
用js的写法,只要找某个json,找到了以后,就break ,结束循环,这样性能最好。之前百度查到用jquery写,但是jquery是递归效率低,所以改为原生js,jquery版本的我没试,js版本得行。

jquery版本

function getAllCld(obj){
for(var o in obj){
if(typeof o == "string"){
//dosomething
}
else {
getAllCld(o);
}
}
}


js版本

var zNodes=[
{ id:101, pId:0, name:"全部"},
{ id:201, pId:101, name:"管理人员"},
{ id:202, pId:101, name:"驻巡人员"},
{ id:203, pId:101, name:"企业"},
{ id:20488, pId:101, name:"管理处"},
{ id:20101, pId:201, name:"忻府区道路运输管理所"},
{ id:20102, pId:201, name:"定襄县道路运输管理所 "},
{ id:20103, pId:201, name:"五台县道路运输管理所"},
{ id:20104, pId:201, name:"原平市道路运输管理所"},
{ id:20105, pId:201, name:"代县道路运输管理所"},
{ id:20106, pId:201, name:"繁峙县道路运输管理所"},
{ id:20107, pId:201, name:"宁武县道路运输管理所"},
{ id:20108, pId:201, name:"静乐县道路运输管理所"},
{ id:20109, pId:201, name:"神池县道路运输管理所"},
{ id:20110, pId:201, name:"五寨县道路运输管理所"},
{ id:20111, pId:201, name:"岢岚县道路运输管理所"},
{ id:20112, pId:201, name:"河曲县道路运输管理所"},
{ id:20113, pId:201, name:"保德县道路运输管理所"},
{ id:20114, pId:201, name:"偏关县道路运输管理所"},
{ id:20201, pId:202, name:"忻府区道路运输管理所"},
{ id:20202, pId:202, name:"定襄县道路运输管理所 "},
{ id:20203, pId:202, name:"五台县道路运输管理所"},
{ id:20204, pId:202, name:"原平市道路运输管理所"},
{ id:20205, pId:202, name:"代县道路运输管理所"},
{ id:20206, pId:202, name:"繁峙县道路运输管理所"},
{ id:20207, pId:202, name:"宁武县道路运输管理所"},
{ id:20208, pId:202, name:"静乐县道路运输管理所"},
{ id:20209, pId:202, name:"神池县道路运输管理所"},
{ id:20210, pId:202, name:"五寨县道路运输管理所"},
{ id:20211, pId:202, name:"岢岚县道路运输管理所"},
{ id:20212, pId:202, name:"河曲县道路运输管理所"},
{ id:20213, pId:202, name:"保德县道路运输管理所"},
{ id:20214, pId:202, name:"偏关县道路运输管理所"},
{ id:1, pId:203, name:"忻府区道路运输管理所"},
{ id:2, pId:203, name:"定襄县道路运输管理所 "},
{ id:3, pId:203, name:"五台县道路运输管理所"},
{ id:4, pId:203, name:"原平市道路运输管理所"},
{ id:5, pId:203, name:"代县道路运输管理所"},
{ id:6, pId:203, name:"繁峙县道路运输管理所"},
{ id:7, pId:203, name:"宁武县道路运输管理所"},
{ id:8, pId:203, name:"静乐县道路运输管理所"},
{ id:9, pId:203, name:"神池县道路运输管理所"},
{ id:10, pId:203, name:"五寨县道路运输管理所"},
{ id:11, pId:203, name:"岢岚县道路运输管理所"},
{ id:12, pId:203, name:"河曲县道路运输管理所"},
{ id:13, pId:203, name:"保德县道路运输管理所"},
{ id:14, pId:203, name:"偏关县道路运输管理所"},
];
for(var item in zNodes){
if(zNodes[item].id==12){
zNodes[item].pId=303;
zNodes[item].checked="true";
break;
}
}
console.log(zNodes);


结果如下

0
:
{id: 101, pId: 0, name: "全部"}
1
:
{id: 201, pId: 101, name: "管理人员"}
2
:
{id: 202, pId: 101, name: "驻巡人员"}
3
:
{id: 203, pId: 101, name: "企业"}
4
:
{id: 20488, pId: 101, name: "管理处"}
5
:
{id: 20101, pId: 201, name: "忻府区道路运输管理所"}
6
:
{id: 20102, pId: 201, name: "定襄县道路运输管理所 "}
7
:
{id: 20103, pId: 201, name: "五台县道路运输管理所"}
8
:
{id: 20104, pId: 201, name: "原平市道路运输管理所"}
9
:
{id: 20105, pId: 201, name: "代县道路运输管理所"}
10
:
{id: 20106, pId: 201, name: "繁峙县道路运输管理所"}
11
:
{id: 20107, pId: 201, name: "宁武县道路运输管理所"}
12
:
{id: 20108, pId: 201, name: "静乐县道路运输管理所"}
13
:
{id: 20109, pId: 201, name: "神池县道路运输管理所"}
14
:
{id: 20110, pId: 201, name: "五寨县道路运输管理所"}
15
:
{id: 20111, pId: 201, name: "岢岚县道路运输管理所"}
16
:
{id: 20112, pId: 201, name: "河曲县道路运输管理所"}
17
:
{id: 20113, pId: 201, name: "保德县道路运输管理所"}
18
:
{id: 20114, pId: 201, name: "偏关县道路运输管理所"}
19
:
{id: 20201, pId: 202, name: "忻府区道路运输管理所"}
20
:
{id: 20202, pId: 202, name: "定襄县道路运输管理所 "}
21
:
{id: 20203, pId: 202, name: "五台县道路运输管理所"}
22
:
{id: 20204, pId: 202, name: "原平市道路运输管理所"}
23
:
{id: 20205, pId: 202, name: "代县道路运输管理所"}
24
:
{id: 20206, pId: 202, name: "繁峙县道路运输管理所"}
25
:
{id: 20207, pId: 202, name: "宁武县道路运输管理所"}
26
:
{id: 20208, pId: 202, name: "静乐县道路运输管理所"}
27
:
{id: 20209, pId: 202, name: "神池县道路运输管理所"}
28
:
{id: 20210, pId: 202, name: "五寨县道路运输管理所"}
29
:
{id: 20211, pId: 202, name: "岢岚县道路运输管理所"}
30
:
{id: 20212, pId: 202, name: "河曲县道路运输管理所"}
31
:
{id: 20213, pId: 202, name: "保德县道路运输管理所"}
32
:
{id: 20214, pId: 202, name: "偏关县道路运输管理所"}
33
:
{id: 1, pId: 203, name: "忻府区道路运输管理所"}
34
:
{id: 2, pId: 203, name: "定襄县道路运输管理所 "}
35
:
{id: 3, pId: 203, name: "五台县道路运输管理所"}
36
:
{id: 4, pId: 203, name: "原平市道路运输管理所"}
37
:
{id: 5, pId: 203, name: "代县道路运输管理所"}
38
:
{id: 6, pId: 203, name: "繁峙县道路运输管理所"}
39
:
{id: 7, pId: 203, name: "宁武县道路运输管理所"}
40
:
{id: 8, pId: 203, name: "静乐县道路运输管理所"}
41
:
{id: 9, pId: 203, name: "神池县道路运输管理所"}
42
:
{id: 10, pId: 203, name: "五寨县道路运输管理所"}
43
:
{id: 11, pId: 203, name: "岢岚县道路运输管理所"}
44
:
{id: 12, pId: 303, name: "河曲县道路运输管理所", checked: "true"}
45
:
{id: 13, pId: 203, name: "保德县道路运输管理所"}
46
:
{id: 14, pId: 203, name: "偏关县道路运输管理所"}
length
:
47
__proto__
:
Array(0)
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
相关文章推荐