我想实现的目标是,首先计算JSon对象的总数console.log(Jobj.length);
,例如,我现在有13个项目。
#red
div里面应该是7个项目,Math.round(Jobj.length/2)
,#blue
div的内部应该是6 Math.floor(Jobj.length/2)
,如果我有14个项目,那么{{1 }和#red
都有7个项目。
现在的问题是,我如何分割我想要的方式,将前7个分成#red,休息到#blue。 如果有人可以提供帮助,我已经做了部分工作?
答案 0 :(得分:2)
使用数组slice()
方法获取数组的子序列:
var redcount = Math.ceil(Jobj.length/2); // Use Math.ceil() to put the excess in #red
var red = Jobj.slice(0, redcount);
var blue = JObj.slice(redcount);
然后,您可以在DIV中显示red
和blue
的内容。
答案 1 :(得分:1)
现在有效。我创造了一个小提琴:http://jsfiddle.net/6LmFL/2/。
这是我修改过的部分:
$.each(Jobj, function(i,v){
if(i<7) {
($('<p>').text(v.item)).appendTo('.col1');
}
else {
($('<p>').text(v.item)).appendTo('.col2');
}
});
答案 2 :(得分:1)
更准确的答案
var half = Math.floor( Jobj.length / 2);
for (var i=0;i<Jobj.length ;i++) {
if (i<=half) {
($('<p>').text(Jobj[i].item)).appendTo('.col1');
} else {
($('<p>').text(Jobj[i].item)).appendTo('.col2');
}
}
编辑:看看Barmar的解决方案。它适合你!但它需要更多代码行:))