return arr.indexOf(item);
} else {
for (var i = 0; i < arr.length; i++){
if (arr[i] === item){
return i;
}
}
}
return -1;
}
},
计算给定数组 arr 中所有元素的总和
mounted(){
//计算给定数组 arr 中所有元素的总和
console.log(this.sum([1,2,3,4])) //10
},
methods:{
sum(arr) {
var length = arr.length,
sum = 0;
for (var i = 0; i < length; i++) {
sum += arr[i];
}
return sum;
}
},
移除数组 arr 中的所有值与 item 相等的元素。不要直接修改数组 arr,结果返回新的数组
mounted(){
//移除数组 arr 中的所有值与 item 相等的元素。不要直接修改数组 arr,结果返回新的数组
console.log(this.remove([1,2,3,4,1],1)) //[2,3,4]
console.log(this.remove2([1,2,3,4,1],1)) //[2,3,4]
console.log(this.remove3([1,2,3,4,1],1)) //[2,3,4]
},
methods:{
//第一种
remove(arr,item){
var newarr = arr.slice(0);
for(var i=0;i<newarr.length;i++){
if(newarr[i] == item){
newarr.splice(i,1);
i–;
}
}
return newarr;
},
//第二种
remove2(arr,item){
var newarr = [];
for(var i=0;i<arr.length;i++){
if(arr[i] != item){
newarr.push(arr[i]);
}
}
return newarr;
},
//第三种
remove3(arr,item){
return arr.filter(function(ele){
return ele != item;
})
}
},
在数组 arr 末尾添加元素 item。不要直接修改数组 arr,结果返回新的数组
mounted(){
//在数组 arr 末尾添加元素 item。不要直接修改数组 arr,结果返回新的数组
console.log(this.append([1,2,3,4,1],7)) // [1, 2, 3, 4, 1, 7]
console.log(this.append2([1,2,3,4,1],7)) // [1, 2, 3, 4, 1, 7]
},
methods:{
//第一种
append(arr, item) {
//复制数组
var a = arr.slice(0); //复制数组
//添加元素
a.push(item);
return a;
},
//第二种
append2 (arr, item) {
var length = arr.length,
newArr = [];
for (var i = 0; i < length; i++) {
newArr.push(arr[i]);
}
newArr.push(item);
return newArr;
}
},
删除数组 arr 最后一个元素。不要直接修改数组 arr,结果返回新的数组
mounted(){
//删除数组 arr 最后一个元素。不要直接修改数组 arr,结果返回新的数组
console.log(this.truncate([1,2,3,4],4)) // [1, 2, 3]
console.log(this.truncate2([1,2,3,4],4)) // [1, 2, 3]
},
methods:{
//第一种
truncate(arr) {
var a = arr.slice(0);
a.pop();
return a;
},
//第二种
truncate2(arr, item) {
var newArr=[];
for(var i=0;i<arr.length-1;i++){
newArr.push(arr[i]);
}
return newArr;
},
}
在数组 arr 开头添加元素 item。不要直接修改数组 arr,结果返回新的数组
mounted(){
//在数组 arr 开头添加元素 item。不要直接修改数组 arr,结果返回新的数组
console.log(this.prepend([1,2,3,4],7)) // [7, 1, 2, 3, 4]
console.log(this.prepend2([1,2,3,4],7)) // [7, 1, 2, 3, 4]
},
methods:{
//第一种
prepend(arr, item) {
return [item].concat(arr); //concat() 方法用于合并两个或多个数组。此方法不会更改现有数组,而是返回一个新数组。
},
//第二种
prepend2(arr, item) {
var newArr=arr.slice(0);
newArr.unshift(item);
return newArr;
}
}
删除数组 arr 第一个元素。不要直接修改数组 arr,结果返回新的数组
mounted(){
//删除数组 arr 第一个元素。不要直接修改数组 arr,结果返回新的数组
console.log(this.curtail([1,2,3,4])) // [2, 3, 4]
console.log(this.curtail2([1,2,3,4])) // [2, 3, 4]
},
methods:{
//第一种
curtail(arr) {
return arr.slice(1);
},
//第二种
curtail2(arr) {
var newArr = arr.concat();
newArr.shift();
return newArr;
}
}
合并数组 arr1 和数组 arr2。不要直接修改数组 arr,结果返回新的数组
mounted(){
//合并数组 arr1 和数组 arr2。不要直接修改数组 arr,结果返回新的数组
console.log(this.concat([1,2,3,4],[1,2,3,4])) // [1, 2, 3, 4, 1, 2, 3, 4]
console.log(this.concat2([1,2,3,4],[1,2,3,4])) // [1, 2, 3, 4, 1, 2, 3, 4]
},
methods:{
//第一种
concat(arr1, arr2) {
return arr1.concat(arr2);
},
//第二种
concat2(arr1, arr2) {
var newArr=arr1.slice(0);
for(var i=0;i<arr2.length;i++){
newArr.push(arr2[i]);
}
return newArr;
}
}
在数组 arr 的 index 处添加元素 item。不要直接修改数组 arr,结果返回新的数组
mounted(){
//在数组 arr 的 index 处添加元素 item。不要直接修改数组 arr,结果返回新的数组
console.log(this.insert([1,2,3,4],‘hello’,1)) // [1, “hello”, 2, 3, 4]
console.log(this.insert2([1,2,3,4],‘hello’,1)) // [1, “hello”, 2, 3, 4]
},
methods:{
//第一种
insert(arr, item, index) {
//复制数组
var a = arr.slice(0);
a.splice(index, 0, item);
return a;
},
//第二种
insert2(arr, item, index) {
var newArr=[];
自我介绍一下,小编13年上海交大毕业,曾经在小公司待过,也去过华为、OPPO等大厂,18年进入阿里一直到现在。
深知大多数前端工程师,想要提升技能,往往是自己摸索成长或者是报班学习,但对于培训机构动则几千的学费,着实压力不小。自己不成体系的自学效果低效又漫长,而且极易碰到天花板技术停滞不前!
因此收集整理了一份《2024年Web前端开发全套学习资料》,初衷也很简单,就是希望能够帮助到想自学提升又不知道该从何学起的朋友,同时减轻大家的负担。
既有适合小白学习的零基础资料,也有适合3年以上经验的小伙伴深入学习提升的进阶课程,基本涵盖了95%以上前端开发知识点,真正体系化!
由于文件比较大,这里只是将部分目录截图出来,每个节点里面都包含大厂面经、学习笔记、源码讲义、实战项目、讲解视频,并且会持续更新!
如果你觉得这些内容对你有帮助,可以扫码获取!!(备注:前端)
最后
本人分享一下这次字节跳动、美团、头条等大厂的面试真题涉及到的知识点,以及我个人的学习方法、学习路线等,当然也整理了一些学习文档资料出来是附赠给大家的。知识点涉及比较全面,包括但不限于前端基础,HTML,CSS,JavaScript,Vue,ES6,HTTP,浏览器,算法等等
详细大厂面试题答案、学习笔记、学习视频等资料领取,点击资料领取直通车免费领取!
前端视频资料:
系化!**
[外链图片转存中…(img-UQJUDncH-1713513288840)]
由于文件比较大,这里只是将部分目录截图出来,每个节点里面都包含大厂面经、学习笔记、源码讲义、实战项目、讲解视频,并且会持续更新!
如果你觉得这些内容对你有帮助,可以扫码获取!!(备注:前端)
[外链图片转存中…(img-bgTRyf7k-1713513288841)]
最后
本人分享一下这次字节跳动、美团、头条等大厂的面试真题涉及到的知识点,以及我个人的学习方法、学习路线等,当然也整理了一些学习文档资料出来是附赠给大家的。知识点涉及比较全面,包括但不限于前端基础,HTML,CSS,JavaScript,Vue,ES6,HTTP,浏览器,算法等等
详细大厂面试题答案、学习笔记、学习视频等资料领取,点击资料领取直通车免费领取!
[外链图片转存中…(img-tjP2bVnr-1713513288841)]
前端视频资料: