D3小白问下这种情况怎么处理,高分求助

xuyisun 2020-06-16 09:29:12
我的JSON文件结果是根据数据库动态查询的,有1000多个,在界面上展示非常多,现在想超过10条,剩下就用一个节点表示,并且把这个特殊节点放在JSON的最后面。
d3.layout.tree().size([height, halfWidth]).children(function(d){return d.winners;}),

children(function(d){return d.winners;}), 这里怎么处理能只取前10个呢?
...全文
4060 4 打赏 收藏 转发到动态 举报
写回复
用AI写文章
4 条回复
切换为时间正序
请发表友善的回复…
发表回复
  • 打赏
  • 举报
回复
d.winners.splice(0, 10) 这样可以剪切出前10个数据 会导致原数据丢失剪切出来的数据,慎用。建议分页查询吧
vswen5 2020-06-23
  • 打赏
  • 举报
回复
json结构是怎样的 [{}]这样的话data.splice(0,10);就能取到前面10个
冰思雨 2020-06-19
  • 打赏
  • 举报
回复
分页显示数据吧。 1000条,内容太多,每次取10条,显示10条。服务端压力也小,传输数据的效率也高。等用户想看10条之后的数据,再使用分页查询,查询后面的数据显示给用户,每次都是显示10条。 json字符串里面的数据,肯定是数组形式的,把数组拆分一下不就可以了么,你新建一个数组,然后,遍历一下1000个的数组,只遍历前10个元素,每次循环都pop出一个元素,放入新建的数组中,10次之后,两个数组就拆分好了。
usecf 2020-06-16
  • 打赏
  • 举报
回复
数据库分页查询 比如: public TabInnLoc queryLastLocRecordByToken(String token) { // TODO Auto-generated method stub //TabInnLoc res; String strRequeryHql = ""; strRequeryHql = "from TabInnLoc tab Where tab.token="+ "'"+token+"' order by tab.uptime desc limit 1 " ; System.out.println("strRequeryHql===:"+strRequeryHql); Session ses = getSession(); Query query = ses.createQuery(strRequeryHql).setFirstResult(0).setMaxResults(10); List<TabInnLoc> imLists = query.list(); ses.close(); if(imLists == null || imLists.isEmpty()) { return null; } return imLists.get(0); }

81,092

社区成员

发帖
与我相关
我的任务
社区描述
Java Web 开发
社区管理员
  • Web 开发社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧