chunk.js 673 B

12345678910111213141516171819202122232425262728
  1. var isArray = require('./isArray')
  2. /**
  3. * 将一个数组分割成大小的组。如果数组不能被平均分配,那么最后一块将是剩下的元素
  4. *
  5. * @param {Array} array 数组
  6. * @param {Number} size 每组大小
  7. * @return {Array}
  8. */
  9. function chunk (array, size) {
  10. var index
  11. var result = []
  12. var arrLen = size >> 0 || 1
  13. if (isArray(array)) {
  14. if (arrLen >= 0 && array.length > arrLen) {
  15. index = 0
  16. while (index < array.length) {
  17. result.push(array.slice(index, index + arrLen))
  18. index += arrLen
  19. }
  20. } else {
  21. result = array.length ? [array] : array
  22. }
  23. }
  24. return result
  25. }
  26. module.exports = chunk