请问大家一个拿后端数据 遇到这种情况的处理问题

佩奇飞上天
  • 47

图上面是要显示三条数据,但是后端返回的数据 有多 有少,可能不足三条 可能超过三条,

for(let i = 0; i<3; i++) {

'<span>'+listarr[i].goods_spec+'</span>'
....

}
如果我用for循环直接截取前三条的话,不足三条的时候就会因为找不到属性而报错,
如果我直接遍历这个数组的话,数据又可能非常多,又不能直接用css的超出隐藏去做,

请问这种情况,我只能1、2、3条的去判断它是几条数据,写for循环吗?有没有比较合适的处理方式?

回复
阅读 854
6 个回答
✓ 已被采纳
for(let i = 0; i < listarr.length; i++) {
    if (i >= 3) break;
    '<span>'+listarr[i].goods_spec+'</span>'
    ....
}

MDN: for

for (let i = 0;; i++) {
   console.log(i);
   if (i >= 2) break;
}

循环次数 = Math.min(3, listarr.length)

slice

arr.slice(0, 3).reduce((html, item) => {
    return html + '<span>'+item.goods_spec+'</span>'
}, '')

用数组的slice方法。

image.png

你好_世界
  • 2
新手上路,请多包涵

这种问题就让后端做分页,干嘛非得让前端来做判断进行截取数据,这明显不合理。

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
宣传栏