Jquery 优化对象和数据结构
希望澄清我对JavaScript对象、JSON和效率的理解。请看下面的例子。如果数据集更大,有数千个对象,我认为方法三是最有效和正确的选择,原因有三:Jquery 优化对象和数据结构,jquery,html,json,Jquery,Html,Json,希望澄清我对JavaScript对象、JSON和效率的理解。请看下面的例子。如果数据集更大,有数千个对象,我认为方法三是最有效和正确的选择,原因有三: 与方法二不同的是,没有循环——它不会贯穿整个数据集。所选对象直接由名称引用 与方法一不同,无需对选择进行求值()即可引用它。少走一步 在方法2和方法3中使用JSON比在方法1中使用单独的对象更可取。JSON更具“打包”性和可转移性 目标是拥有一个包含数千个对象的大型数据集,每个对象具有约15个属性(主要是数字)。属性数据将使用各种HTML表单选择
var options = [{ "name":"one","count":0,"desc":"blah"},{"name":"two","count":0,"desc":"blah"}]
$("#increment").change(function(){
choice = $( "#increment option:selected" ).val();
for (i = 0; i < options.length; i++) {
if(options[i].name == choice){options[i].count++}
}
});
您已经描述了您的方法并提供了代码,但没有解释您正试图实现什么以及您的代码目标是什么。请解释一下,这个问题太宽泛了。创建数据模型的结构在很大程度上取决于数据以及应用程序将如何使用数据。这两件事都是很有情境性的。我的目标更加明确了。我们的目标仍然是一个概括,而且还是太宽泛了。
var one = {"count":0,"desc":"blah"};
var two = {"count":0,"desc":"blah"};
$("#increment").change(function(){
choice = $( "#increment option:selected" ).val();
a = eval(choice);
a.count++;
});
var options = [{ "name":"one","count":0,"desc":"blah"},{"name":"two","count":0,"desc":"blah"}]
$("#increment").change(function(){
choice = $( "#increment option:selected" ).val();
for (i = 0; i < options.length; i++) {
if(options[i].name == choice){options[i].count++}
}
});
var options = {
"one":{"count":0,"desc":"blah"},
"two":{"count":0,"desc":"blah"}
}
$("#increment").change(function(){
choice = $( "#increment option:selected" ).val();
options[choice].count++;
});