js 数组小习题

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=[];

for(var i=0;i<arr.length;i++){

newArr.push(arr[i]);

}

newArr.splice(index,0,item);

return newArr;

}

}

统计数组 arr 中值等于 item 的元素出现的次数

mounted(){

//统计数组 arr 中值等于 item 的元素出现的次数

console.log(this.count([1,2,3,4,4],4))  // 2

console.log(this.count2([1,2,3,4,4],4))  // 2

console.log(this.count3([1,2,3,4,4],4)) //2

},

methods:{

//第一种

count(arr, item) {

var count = 0;

arr.forEach(function(e){

//e为arr中的每一个元素,与item相等则count+1

e == item ? count++ : 0;

});

return count;

},

//第二种

count2(arr, item) {

var count = 0;

arr.map(function(a) {

if(a === item) {

count++;

}

});

return count;

},

//第三种

count3(arr, item) {

最后

自我介绍一下,小编13年上海交大毕业,曾经在小公司待过,也去过华为、OPPO等大厂,18年进入阿里一直到现在。

深知大多数初中级Android工程师,想要提升技能,往往是自己摸索成长,自己不成体系的自学效果低效漫长且无助。

因此收集整理了一份《2024年Web前端开发全套学习资料》,初衷也很简单,就是希望能够帮助到想自学提升又不知道该从何学起的朋友,同时减轻大家的负担。

img

既有适合小白学习的零基础资料,也有适合3年以上经验的小伙伴深入学习提升的进阶课程,基本涵盖了95%以上Android开发知识点!不论你是刚入门Android开发的新手,还是希望在技术上不断提升的资深开发者,这些资料都将为你打开新的学习之门!

如果你觉得这些内容对你有帮助,需要这份全套学习资料的朋友可以戳我获取!!

由于文件比较大,这里只是将部分目录截图出来,每个节点里面都包含大厂面经、学习笔记、源码讲义、实战项目、讲解视频,并且会持续更新!
收集整理了一份《2024年Web前端开发全套学习资料》,初衷也很简单,就是希望能够帮助到想自学提升又不知道该从何学起的朋友,同时减轻大家的负担。**

[外链图片转存中…(img-DuwuMuED-1715539485306)]

[外链图片转存中…(img-8nJ266lc-1715539485306)]

[外链图片转存中…(img-SYZPKT7E-1715539485306)]

既有适合小白学习的零基础资料,也有适合3年以上经验的小伙伴深入学习提升的进阶课程,基本涵盖了95%以上Android开发知识点!不论你是刚入门Android开发的新手,还是希望在技术上不断提升的资深开发者,这些资料都将为你打开新的学习之门!

如果你觉得这些内容对你有帮助,需要这份全套学习资料的朋友可以戳我获取!!

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

  • 8
    点赞
  • 10
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值