js 数组小习题

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前端开发全套学习资料》,初衷也很简单,就是希望能够帮助到想自学提升又不知道该从何学起的朋友,同时减轻大家的负担。

img

既有适合小白学习的零基础资料,也有适合3年以上经验的小伙伴深入学习提升的进阶课程,基本涵盖了95%以上前端开发知识点,真正体系化!

由于文件比较大,这里只是将部分目录截图出来,每个节点里面都包含大厂面经、学习笔记、源码讲义、实战项目、讲解视频,并且会持续更新!

如果你觉得这些内容对你有帮助,可以扫码获取!!(备注:前端)

最后

本人分享一下这次字节跳动、美团、头条等大厂的面试真题涉及到的知识点,以及我个人的学习方法、学习路线等,当然也整理了一些学习文档资料出来是附赠给大家的。知识点涉及比较全面,包括但不限于前端基础,HTML,CSS,JavaScript,Vue,ES6,HTTP,浏览器,算法等等

详细大厂面试题答案、学习笔记、学习视频等资料领取,点击资料领取直通车免费领取!

前端视频资料:
系化!**

[外链图片转存中…(img-UQJUDncH-1713513288840)]

由于文件比较大,这里只是将部分目录截图出来,每个节点里面都包含大厂面经、学习笔记、源码讲义、实战项目、讲解视频,并且会持续更新!

如果你觉得这些内容对你有帮助,可以扫码获取!!(备注:前端)

[外链图片转存中…(img-bgTRyf7k-1713513288841)]

最后

本人分享一下这次字节跳动、美团、头条等大厂的面试真题涉及到的知识点,以及我个人的学习方法、学习路线等,当然也整理了一些学习文档资料出来是附赠给大家的。知识点涉及比较全面,包括但不限于前端基础,HTML,CSS,JavaScript,Vue,ES6,HTTP,浏览器,算法等等

详细大厂面试题答案、学习笔记、学习视频等资料领取,点击资料领取直通车免费领取!

[外链图片转存中…(img-tjP2bVnr-1713513288841)]

前端视频资料:

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值