数组是JavaScript编程中最常用的结构之一,这也是为什么了解它的内置方法很重要。
在本文中,我们研究一下如何在 JS 中将数组拆分为n个大小的块。
具体来说,主要研究两种方法:
slice()方法是提取数组块,或者将其切成块的最简单方法:
slice(start, end) 方法返回一个新的数组对象,这一对象是一个由 begin 和 end 决定的原数组的浅拷贝(包括 begin,不包括end)。原始数组不会被改变。
注意:start和end都可以是负整数,这仅表示它们是从数组末尾枚举的。-1是数组的最后一个元素,-2是倒数第二个,依此类推…
因此,要将列表或数组分割成偶数块,我们使用slice()方法
function sliceIntoChunks(arr, chunkSize) {
const res = [];
for (let i = 0; i < arr.length; i += chunkSize) {
const chunk = arr.slice(i, i + chunkSize);
res.push(chunk);
}
return res;
}
const arr = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10];
console.log(sliceIntoChunks(arr, 3));
运行结果:
[[ 1, 2, 3 ], [ 4, 5, 6 ], [ 7, 8, 9 ], [ 10 ]]
在上面的代码中,我们通过遍历数组并按每个chunkSize对其进行切片,将arr分解成大小为3的小块。在最后一次迭代中,只剩下一个元素(10),所以它自己就组成一个块。
即使splice()方法看起来与slice()方法相似,但其用法和副作用却大不相同。我们仔细来看看:
// splice 做以下两件事:
// 1. 删除从 startIdx 开始的 deleteCount 元素
// 2. 将提供的新元素(newElem1, newElem2…)插入到myArray中,以索引startIdx开始
// 该方法的返回值是一个包含所有已删除元素的数组
myArray.splice(startIdx, deleteCount, newElem1, newElem2...)
let arrTest = [2, 3, 1, 4]
let chunk = arrTest.splice(0,2)
console.log(chunk) // [2, 3]
console.log(arrTest) // [1, 4]
我们通过一个代码示例来实际了解这一点:
function spliceIntoChunks(arr, chunkSize) {
const res = [];
while (arr.length > 0) {
const chunk = arr.splice(0, chunkSize);
res.push(chunk);
}
return res;
}
const arr = [1, 2, 3, 4, 5, 6, 7, 8];
console.log(spliceIntoChunks(arr, 2));
运行结果:
[ [ 1, 2 ], [ 3, 4 ], [ 5, 6 ], [ 7, 8 ] ]
在这里,我们使用while循环遍历数组。在每次迭代中,我们执行拼接操作,并将每个块添加到结果数组中,直到原始数组中不再有其他元素为止(arr.length> 0)。
需要注意的非常重要的一点是splice()会更改原始数组。如slice()创建原始数组的副本,因此原始数组不会有任何更改。
在本文中,我们介绍了在 JS 中将列表分割为多个块的几种简单方法。在此过程中,我们学习了如何使用几个内置的数组方法,如slice()和splice()。
阵法是玩家和伙伴一起配合不同的站位来对抗各种怪物团的系统,是大话神仙的战斗乐趣之一,10种不同的阵法随着玩家主角的等级提升而逐步开放,阵法在提供不同站位的同时还可以给玩家提供相应阵法带来的额外属性加成效果和队伍先攻值。玩家可以在游戏中获得阅历奖励,并提升阵法奇术 1 天阵 是最早开放的阵法,提升天...
1 红烧肉,最解馋的一道菜。制作方法不复杂,其制作的关键点是烧炖的时间。没有一个多小时的烧炖,就烧不出软糯的口感。现在正是桂花盛开的时候,摘一把桂花放入肉中烧炖,别有一番滋味。 原料:五花肉750克,广东菜心200克,桂花适量,冰糖40克,草菇老抽1勺,蒸鱼豉油1勺,蚝油适量,香叶2片,桂皮1块,...
闲鱼是阿里巴巴旗下闲置交易平台。使用淘宝或支付宝账户登录,无需经过复杂的开店流程,即可达成包括一键转卖个人淘宝账号中“已买到宝贝”、自主手机拍照上传二手闲置物品、以及在线交易等诸多 闲鱼是阿里巴巴旗下闲置交易平台。使用淘宝或支付宝账户登录,无需经过复杂的开店流程,即可达成包括一键转卖个人淘宝账号中...
羊了个羊游戏的玩法规则是什么?玩家在玩这款游戏的时候,刚开始很多人都不知道这款游戏怎么玩,由于不清楚游戏的规则,所以很多玩家在初期都会走很多弯路,今天游戏鸟小编给大家带来游戏的规则 羊了个羊游戏的玩法规则是什么?玩家在玩这款游戏的时候,刚开始很多人都不知道这款游戏怎么玩,由于不清楚游戏的规则,所以...
随着搜索引擎系统的不断优化和完善,在当前互联网用户数量和使用频率不断增加的情况下,站点也越来越多的情况下,seo优化如何做好网站排名,让用户更能注意到我们呢?接下来小编就跟大家分 随着搜索引擎系统的不断优化和完善,在当前互联网用户数量和使用频率不断增加的情况下,站点也越来越多的情况下,seo优化...
iPhone14promax在官方直营店依旧没现货,包括京东或者天猫旗舰店,想买现货的朋友们在官网蹲到了吗?目前,iPhone14promax黄牛加价1200,可以自己卖赚点钱,如果自己加钱买的话就没必要了。iPhone iPhone14promax在官方直营店依旧没现货,包括京东或者天猫旗舰店,...
板栗是秋季比较常见的一种美食,它的吃法比较多,吃起来软糯可口,营养价值高,深受人们喜欢。板栗一般要吃热的,这样比较容易消化吸收,冷掉的熟板栗可以放微波炉加热,一般只要是开口的板栗,短时间加热是不会爆炸的。板栗可以微波炉加 板栗是秋季比较常见的一种美食,它的吃法比较多,吃起来软糯可口,营养价值高,深...
祭祀祖先是逢年过节大家必做的事情之一,这不眼见着十月初一了,也就是我们常说的寒衣节,所以很多友友都在准备送寒衣的事情,下面小编就和大家一起看看2022年十月初一烧纸要摆供吗。2022年十月初一烧纸要摆供吗看地方的讲究。十 祭祀祖先是逢年过节大家必做的事情之一,这不眼见着十月初一了,也就是我们常说的...
远古海底最恐怖的生物 今天给大家盘点一下古代九大史前巨兽,它们凶猛、巨大、可怕。将近三米的大蜈蚣简直就是现代蜈蚣的祖先。 九大远古时代的史前巨兽? 还有一些大的残忍的野兽,看起来像现代的蝎子。为什么残忍?因为这种野兽因为吃了自己的肉而灭绝了!接下来是精彩时刻。请逐一阅读。 第九...
对于分手后还想复合的心理是完全可以理解的,无非两种原因,一是依旧喜欢,二是找不到比前任更好的对象。当你分手后想复合首先考虑下你们是因为什么分的手,你是分手方还是被分手方,这个区别还是很大的。分手后想复合要不要联系如果你真 对于分手后还想复合的心理是完全可以理解的,无非两种原因,一是依旧喜欢,二是找...
主卧床头背景墙挂山水画合适吗是很多友友好奇的,毕竟对于注重风水的友友们来讲,家中一花一物的摆放都是有讲究的,下面小编就和大家一起看看主卧床头背景墙挂什么画合适。主卧床头背景墙挂山水画合适吗可以。卧室是我们休息的地方,更 主卧床头背景墙挂山水画合适吗是很多友友好奇的,毕竟对于注重风水的友友们来讲,家...
科技与狠活是近期网红博主辛吉飞的口头禅,他的视频内容发布的基本都是视频安全问题,万万没想到,在外面吃的所谓的烤肠、肥牛卷以及羊汤等大补食物,其实很大概率都是商家们的投机取巧。科技与狠活是什么意思该梗出自视频作者辛吉飞创作 科技与狠活是近期网红博主辛吉飞的口头禅,他的视频内容发布的基本都是视频安全问...
羊奶保存方法和注意事项,羊奶保存方法和注意事项有哪些。小编带你了解更多相关信息。 1、保存鲜羊奶应该放在阴凉的地方,放在冰箱里保存时间是最长的。 2、避免让鲜羊奶被阳光曝晒或照射灯光,日光、灯光均会破坏羊奶中的数种维生素,也会使其丧失芳香。 3、羊奶放在冰箱里,瓶盖要盖好,以免串味。瓶装鲜...
百度手机地图是一款由百度公司为您提供的基于地图服务的应用软件,立志于成为您最贴心的全能出行助手,没啥可以介绍的啦!感兴趣的话,赶紧去下载试试吧!在最新版本中,百度为驾车用户推出摄像头提醒功能,针对已规划路线相关摄像头、道路出口和途径地标进行语音提醒,帮助用户安心驾驶! 步骤/方法 01开启...
视频教学如何往iphone装软件 步骤/方法 01视频教学 02安装91手机助手:下载91手机助手,下载完成后双击图标并根据提示进行安装。 03连接识别手机:用数据线将手机和计算机相连接,打开91手机助手,此时计算机屏幕会提示安装或升级守护程序。安装或升级完成之后手机助手就会识别到...