helper.js 621 B

123456789101112131415161718192021
  1. /**
  2. * getSwiperList
  3. * @description 获取Swiper数据
  4. * @param {Array} list 原数据
  5. * @param {Object} options 配置
  6. * @param {Boolean} options.circular 是否循环
  7. * @param {Number} options.plus 左右追加个数(开启循环必填,至少为2)
  8. * @return {Array}
  9. */
  10. export function getSwiperList(list, options = {
  11. circular: true,
  12. plus: 3
  13. }) {
  14. if (!options.circular) {
  15. return list
  16. }
  17. const plus = options.plus || 2
  18. const leftPlusList = [...list].reverse().slice(0, plus).reverse();
  19. const rightPlusList = [...list].slice(0, plus);
  20. return [].concat(leftPlusList).concat(list).concat(rightPlusList);
  21. }