动态数据,1-18条随机。请问如何动态的从上至下往数组里插数值,

数据最多18跳,最少1条,如果将他们分享44433的形式这样展示

初始数据为
list|1-18": [{
  "id|+1": 1000
  "name": "@cname"
  "count|1-99999": 11000
  "isLiked|1": "@boolean"
}]
将这段初始数据做处理

如果少于18条,
例如:

 1条
 list:{[
    {"id|+1": 1000
  "name": "@cname"
  "count|1-99999": 11000
  "isLiked|1": "@boolean"
  }],
    [],
    [],
    [],
    []
 }
 5条
 list:{
    [{"id|+1": 1000
  "name": "@cname"
  "count|1-99999": 11000
  "isLiked|1": "@boolean"}],
  
    [{"id|+1": 1000
  "name": "@cname"
  "count|1-99999": 11000
  "isLiked|1": "@boolean"}],
  
    [{"id|+1": 1000
  "name": "@cname"
  "count|1-99999": 11000
  "isLiked|1": "@boolean"}],
  
    [{"id|+1": 1000
  "name": "@cname"
  "count|1-99999": 11000
  "isLiked|1": "@boolean"}],
  
    [{"id|+1": 1000
  "name": "@cname"
  "count|1-99999": 11000
  "isLiked|1": "@boolean"}]
 }
  8条
 list:{
    [{x},{x}],
    [{x},{x}],
    [{x},{x}],
    [{x}],
    [{x}]
 }

10条
list:{
    [{
  "id|+1": 1000
  "name": "@cname"
  "count|1-99999": 11000
  "isLiked|1": "@boolean"
},{
  "id|+1": 1000
  "name": "@cname"
  "count|1-99999": 11000
  "isLiked|1": "@boolean"
}],

    [{
  "id|+1": 1000
  "name": "@cname"
  "count|1-99999": 11000
  "isLiked|1": "@boolean"
},{
  "id|+1": 1000
  "name": "@cname"
  "count|1-99999": 11000
  "isLiked|1": "@boolean"
}],

    [{
  "id|+1": 1000
  "name": "@cname"
  "count|1-99999": 11000
  "isLiked|1": "@boolean"
},{
  "id|+1": 1000
  "name": "@cname"
  "count|1-99999": 11000
  "isLiked|1": "@boolean"
}],

    [{
  "id|+1": 1000
  "name": "@cname"
  "count|1-99999": 11000
  "isLiked|1": "@boolean"
},{
  "id|+1": 1000
  "name": "@cname"
  "count|1-99999": 11000
  "isLiked|1": "@boolean"
}],

    [{
  "id|+1": 1000
  "name": "@cname"
  "count|1-99999": 11000
  "isLiked|1": "@boolean"
},{
  "id|+1": 1000
  "name": "@cname"
  "count|1-99999": 11000
  "isLiked|1": "@boolean"
}]
 }

 ....
 18条
 list:{
    [{x},{x},{x},{x}],
    [{x},{x},{x},{x}],
    [{x},{x},{x},{x}],
    [{x},{x},{x}],
    [{x},{x},{x}]
 }
 
 

从上往下插入数据,请问该如何做

阅读 2k
2 个回答

不知道我理解的是不是你说的意思

function dataFormat(list) {
  const data = new Array(5).fill(0).map(() => ([])); // 构建目标数据结构
  return list.reduce((p, n, idx) => {
    const arrIdx = idx % p.length; // 纵向索引
    const arrInnerIdx = Math.ceil((idx + 1) / p.length) - 1; // 横向索引
    p[arrIdx][arrInnerIdx] = n
    return p;
  }, data) 
}
// 模拟原始数据
const list = new Array(18).fill({
  "id|+1": 1000,
  "name": "@cname",
  "count|1-99999": 11000,
  "isLiked|1": "@boolean"
}); 
dataFormat(list);

我理解的你描述的数据结构是:list是对象,list对象里是5个数组,这5个数组的长度不一样,比如:可能前3个数组的长度是4,后2个数组的长度是3。
如果我理解的没问题,那么,你假设的数据结构是不对的,对象是kv结构,不可以直接包含数组,应该有个key值映射到具体数组上。

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