最后
技术是没有终点的,也是学不完的,最重要的是活着、不秃。零基础入门的时候看书还是看视频,我觉得成年人,何必做选择题呢,两个都要。喜欢看书就看书,喜欢看视频就看视频。最重要的是在自学的过程中,一定不要眼高手低,要实战,把学到的技术投入到项目当中,解决问题,之后进一步锤炼自己的技术。
开源分享:【大厂前端面试题解析+核心总结学习笔记+真实项目实战+最新讲解视频】
技术学到手后,就要开始准备面试了,找工作的时候一定要好好准备简历,毕竟简历是找工作的敲门砖,还有就是要多做面试题,复习巩固。
- 使用中间索引和
Array.splice()
方法获得数组等分的部分
Math.ceil() 函数返回大于或等于一个给定数字的最小整数。
const list = [1, 2, 3, 4, 5, 6];
const middleIndex = Math.ceil(list.length / 2);
const firstHalf = list.splice(0, middleIndex);
const secondHalf = list.splice(-middleIndex);
console.log(firstHalf); // [1, 2, 3]
console.log(secondHalf); // [4, 5, 6]
console.log(list); // []
Array.splice()
方法通过删除,替换或添加元素来更改数组的内容。 而Array.slice()
方法会先对数组一份拷贝,在操作。
-
list.splice(0, middleIndex)
从数组的0
索引处删除前3
个元素,并将其返回。 -
splice(-middleIndex)
从数组中删除最后3
个元素并返回它。
在这两个操作结束时,由于我们已经从数组中删除了所有元素,所以原始数组是空的。
另请注意,在上述情况下,元素数为偶数,如果元素数为奇数,则前一半将有一个额外的元素。
const list = [1, 2, 3, 4, 5];
const middleIndex = Math.ceil(list.length / 2);
list.splice(0, middleIndex); // returns [1, 2, 3]
list.splice(-middleIndex); // returns [4, 5]
有时我们并不希望改变原始数组,这个可以配合 Array.slice() 来解决这个问题:
const list = [1, 2, 3, 4, 5, 6];
const middleIndex = Math.ceil(list.length / 2);
const firstHalf = list.slice().splice(0, middleIndex);
const secondHalf = list.slice().splice(-middleIndex);
console.log(firstHalf); // [1, 2, 3]
console.log(secondHalf); // [4, 5, 6]
console.log(list); // [1, 2, 3, 4, 5, 6];
我们看到原始数组保持不变,因为在使用Array.slice()
删除元素之前,我们使用Array.slice()
复制了原始数组。
const list = [1, 2, 3, 4, 5, 6, 7, 8, 9];
const threePartIndex = Math.ceil(list.length / 3);
const thirdPart = list.splice(-threePartIndex);
const secondPart = list.splice(-threePartIndex);
const firstPart = list;
console.log(firstPart); // [1, 2, 3]
console.log(secondPart); // [4, 5, 6]
console.log(thirdPart); // [7, 8, 9]
简单解释一下上面做了啥:
-
首先使用
st.splice(-threePartIndex)
提取了ThirdPart,它删除了最后3个元素[7、8、9]
,此时list
仅包含前6个元素[1、2、3、4、5、6]
。 -
接着,使用
list.splice(-threePartIndex)
提取了第二部分,它从剩余list = [1、2、3、4、5、6]
(即[4、5、6])中删除了最后3个元素,list仅包含前三个元素[1、2、3]
,即firstPart
。
现在,我们来看一看 Array.splice() 更多用法,这里因为我不想改变原数组,所以使用了 Array.slice(),如果智米们想改变原数组可以进行删除它。
const list = [1, 2, 3, 4, 5, 6, 7, 8, 9];
最后
今天的文章可谓是积蓄了我这几年来的应聘和面试经历总结出来的经验,干货满满呀!如果你能够一直坚持看到这儿,那么首先我还是十分佩服你的毅力的。不过光是看完而不去付出行动,或者直接进入你的收藏夹里吃灰,那么我写这篇文章就没多大意义了。所以看完之后,还是多多行动起来吧!
可以非常负责地说,如果你能够坚持把我上面列举的内容都一个不拉地看完并且全部消化为自己的知识的话,那么你就至少已经达到了中级开发工程师以上的水平,进入大厂技术这块是基本没有什么问题的了。
开源分享:【大厂前端面试题解析+核心总结学习笔记+真实项目实战+最新讲解视频】
常负责地说,如果你能够坚持把我上面列举的内容都一个不拉地看完并且全部消化为自己的知识的话,那么你就至少已经达到了中级开发工程师以上的水平,进入大厂技术这块是基本没有什么问题的了。