javascript实现与php内置方法array_chunk的方法 - 进行数组分组

99 阅读1分钟

在一次实现需求过程中,发现php的array_chunk实现数组分块很方便,那么也想在javascript中看看有没有现成的api可以直接拿来用。于是有了今天的一篇大家口中的水文,作为笔记📒。

在javascript中,没有直接与php中的array_chunk函数等效的内置方法。那么接下来实现以下Javascript中的类似的array_chunk()看看。

Lodash 库

其实,Lodash库可以使用chunk函数来切割数组。

首先确保已经安装了Lodash库,并将其引入到你的项目中。使用的示例如下:

const _ = require('lodash')

const arr = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10]

const chunks = _.chunk(arr, 3)

console.log(chunks) // [[1, 2, 3], [4, 5, 6], [7, 8, 9], [10]]

以上是将数组分成大小为3的每个小块。


js 自己手写实现

把数组按数目分块。想着是尽量最少代码实现该功能。

const chunk = (arr, size) =>
    Array.from({ length: Math.ceil(arr.length / size) }, (_, index) =>
      arr.slice(index * size, index * size + size)
    );
    
const arr = Array.from({ length: 10 }, (_, index) => index + 1);
const chunks = chunk(arr, 3);

得到的chunks如下:

image.png


你可能还有自己的实现想法,没关系,实现了就行。

总结

越来越懒,越来越发现自己能自动能复用就复用,代码希望是越少代码能实现同样功能越好(当然也得考虑代码运行的速度)。并没有觉得不妥,懒挺正常的,能解放双手、自动、且尽量避免循环重复做一些流程的东西最好。

欢迎任意留言,新年快乐✨