JS 数组 按个数进行分组

今天我在做一个小程序轮播图的时候,因为要从scroll-view 转为 swiper 组件,

之前scroll-view 组件的渲染数据 直接就是一个数组,当把scroll-view的宽度和内部item的宽度定好以后,就可以固定宽度中显示4条数据

但是当我把scroll-view组件转为 swiper 组件 之后, 发现之前的数据模型在swiper 无法实现一个swiper-item中只有4条数据的情况,(因为 我需要swiper 组件下方的分页点,所以必须分组)。

因此,只有将之前用于scroll-view中的数组数据 进行每4为一组分组; 

var data = [
  {name:'test',age:'25'},
  {name:'test',age:'25'},
  {name:'test',age:'25'},
  {name:'test',age:'25'},
  {name:'test',age:'25'},
  {name:'test',age:'25'},

]
var result = [];
for(var i=0;i<data.length;i+=4){
    result.push(data.slice(i,i+4));
}

在data中有6条数据,进行for循环

在for循环中的末尾循环体 我写的是 i+=4,这样i每次都会+4前进,

在循环体中,我是用result新数组 来接收 data.slice(i,i+4);的数据,因为i每次都会+4,所以slice返回的数据都是data中的毎4个为一组。

可能说的有点抽象 下面附上result 数据:

在JavaScript中,可以通过编写一个函数来根据对象数组中的某个属性进行分组。通常,我们会使用`reduce`方法来实现这一功能,因为它可以将数组中的元素累加到一个单一的结果中。以下是一个简单的例子,展示了如何根据对象数组中的“category”属性进行分组: ```javascript function groupBy(arr, property) { return arr.reduce((accumulator, current) => { const key = current[property]; if (!accumulator[key]) { accumulator[key] = []; } accumulator[key].push(current); return accumulator; }, {}); } // 示例数据 const items = [ { name: 'Item 1', category: 'A' }, { name: 'Item 2', category: 'B' }, { name: 'Item 3', category: 'A' }, { name: 'Item 4', category: 'B' }, { name: 'Item 5', category: 'C' } ]; // 根据category属性进行分组 const groupedItems = groupBy(items, 'category'); console.log(groupedItems); ``` 在这个例子中,`groupBy`函数接受两个参数:一个对象数组`arr`和一个属性名`property`。函数使用`reduce`方法遍历数组,并根据每个对象的`property`属性值将对象分组到累加器对象`accumulator`中。如果累加器中还没有当前键,则先创建一个空数组,然后将当前对象推入这个数组。 执行上述代码后,`groupedItems`对象将会根据`category`属性将`items`数组中的对象分组,例如: ```javascript { A: [ { name: 'Item 1', category: 'A' }, { name: 'Item 3', category: 'A' } ], B: [ { name: 'Item 2', category: 'B' }, { name: 'Item 4', category: 'B' } ], C: [ { name: 'Item 5', category: 'C' } ] } ```
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值