我的代码中有以下json对象数组
var groups = [
{ "gid": 28, "name": "Group 1", "ishidden": false, "isprivate": false },
{ "gid": 16, "name": "Group 2", "ishidden": true, "isprivate": false },
{ "gid": 31, "name": "Group 3", "ishidden": true, "isprivate": false },
{ "gid": 11, "name": "Group 4", "ishidden": false, "isprivate": false },
{ "gid": 23, "name": "Group 5", "ishidden": false, "isprivate": false }
];
Run Code Online (Sandbox Code Playgroud)
我可以使用jQuery访问或迭代这个没有问题.但是出现了一种情况,我需要更改其中一个项的值(例如,将ishidden
属性更改为true
for gid: 28
),然后针对它运行一些其他jQuery函数.这可能吗?还是我必须重新构建整个对象?如果可能,我该如何实现?
任何帮助,将不胜感激!
Tom*_*lak 12
jQuery样式将是:
$(groups).each( function() {
if (this.gid == 28) this.ishidden = true;
});
Run Code Online (Sandbox Code Playgroud)
但另外,您可以创建索引:
var index = {};
$(groups).each( function() { index[this.gid] = this; } );
// and then
index["28"].ishidden = true;
Run Code Online (Sandbox Code Playgroud)
从长远来看,这将节省一些时间.
试试这个:
for (var i = 0; i < groups.length; i++){
if (groups[i].gid == 28){
groups[i].ishidden = true;
break;
}
}
Run Code Online (Sandbox Code Playgroud)
我想说贾斯汀的答案更好,但是,我会添加这个微妙的修改
var lim = groups.length;
for (var i = 0; i < lim; i++){
if (groups[i].gid == 28){
groups[i].ishidden = true;
break;
}
}
Run Code Online (Sandbox Code Playgroud)
归档时间: |
|
查看次数: |
15972 次 |
最近记录: |