将一个数组拆分为多组可以采用chunk属性
_.chunk(array, [size=1]),将数组(array)拆分成多个 size 长度的区块,并将这些区块组成一个新数组。 如果array 无法被分割成全部等长的区块,那么最后剩余的元素将组成一个区块。
//此处我用的数据是一个包含是个元素的数组turnList,showList是前五个元素组成得新数组,hideList是剩下的五个元素组成的数组
init() {
const [showList, hideList] = this.$lodash.chunk(this.turnList, 5)
this.showList = showList.map((item, index) => {
const sort = index + 1
return {
...item,
sort,
boxCls: `box-${sort}`
}
})
this.hideList = hideList.map((item, index) => {
const sort = index + 1
return {
...item,
sort,
boxCls: `box-${sort}`
}
})
},
然后将两个新数组做相关操作
initDjs() {
clearInterval(this.djsObj.timer)
const self = this
self.djsObj.timer = setInterval(() => {
if (self.djsObj.activeKey < 5) {
//让a等于showList的第self.djsObj.activeKey位元素
const a = this.showList[self.djsObj.activeKey]
//把hideList中第一个数组取出,shift方法会改变原数组,b就是从hideList中取出的第一个元素
const b = this.hideList.shift()
//splice方法会改变原数组,从showList的index为self.djsObj.activeKey处的位置删除一位元素
//然后用b代替
this.showList.splice(self.djsObj.activeKey, 1, b)
//在hideList的末尾添加上a,push会改变原数组
this.hideList.push(a)
self.djsObj.activeKey++
} else {
self.djsObj.activeKey = 0
}
}, 2 * 1000)
}



