操作对象数组
1.将对象数组按照一定的数量进行切割
应用场景:列表前端分页,swiper翻页等
json数据如下:
const arr = [
{ "name": "AAA", "info": '01' },
{ "name": "BBB", "info": '02' },
{ "name": "CCC", "info": '03' },
{ "name": "DDD", "info": '04' },
{ "name": "EEE", "info": '05' },
{ "name": "FFF", "info": '06' },
{ "name": "GGG", "info": '07' },
{ "name": "HHH", "info": '08' },
{ "name": "III", "info": '09' },
{ "name": "JJJ", "info": '10' },
{ "name": "KKK", "info": '11' },
{ "name": "LLL", "info": '12' },
]
第一种方法:
splitArr(arr, num) {
var tempArr = []
var wholeArr = []
for (let i = 0; i < arr.length; i++) {
tempArr.push(arr[i])
if ((i + 1) % num == 0 || i + 1 == arr.length) {
wholeArr.push(tempArr)
tempArr = []
}
}
return wholeArr
}
console.log(splitArr(arr, 5))
第二种方法:
splitArr2(arr, num) {
var newArr = []
for (let i = 0; i < arr.length; i += num) {
newArr.push(arr.slice(i, i + num))
}
return newArr
}
输出:
[
[
{ "name": "AAA", "info": '01' },
{ "name": "BBB", "info": '02' },
{ "name": "CCC", "info": '03' },
{ "name": "DDD", "info": '04' },
{ "name": "EEE", "info": '05' }
],
[
{ "name": "FFF", "info": '06' },
{ "name": "GGG", "info": '07' },
{ "name": "HHH", "info": '08' },
{ "name": "III", "info": '09' },
{ "name": "JJJ", "info": '10' }
],
[
{ "name": "KKK", "info": '11' },
{ "name": "LLL", "info": '12' }
]
]