如何用Js将数组分割成每N个为一组
假设有这么一个数组:
let array = ['法国','澳大利亚','智利','新西兰','西班牙','加拿大','阿根廷','美国','中国','波多黎各','英国','比利时','德国','意大利'];
现在希望将数组分割成每3个值组成一个新数组:
array = [['法国','澳大利亚','智利'],['新西兰','西班牙','加拿大'],['阿根廷','美国','中国'],['波多黎各','英国','比利时'],['德国','意大利']];
可通过以下方法进行处理:
let array = ['法国','澳大利亚','智利','新西兰','西班牙','加拿大','阿根廷','美国','中国','波多黎各','英国','比利时','德国','意大利'];
let newArray = [];
for (let i = 0, len = array.length; i < len; i += 3) {
newArray.push(array.slice(i, i + 3));
}
也可以单独封装一个方法来进行套用:
function group(array, subGroupLength) {
let index = 0;
let newArray = [];
while(index < array.length) {
newArray.push(array.slice(index, index += subGroupLength));
}
return newArray;
}
let countries = []; //这里定义的是你需要用作处理的数组
let groupedCountries = group(countries, 3);
文章列举的为常用的方法,在笔者的业务需求中主要用于swiper分割。将数组每3个值组成一个swiper-slide,实现每一页swiper有3个值的效果。 更多方法可以前往 传送门 。
感谢阅读。