我是靠谱客的博主 粗心毛豆,这篇文章主要介绍js数组的13个题第一题:第二题第三题第四题第五题第六题第七题第八题第九题第十题第十一题第十二题第十三题,现在分享给大家,希望可以做个参考。

第一题:


题目描述:

找出元素 item 在给定数组 arr 中的位置

输出描述:

如果数组中存在 item,则返回元素在数组中的位置,否则返回 -1 示例代码:

复制代码
1
2
3
arr = [1,2,3,4] item = 4 复制代码

题目解答:

复制代码
1
2
3
4
5
6
7
8
9
10
11
12
13
let arr = [1,2,3,4] let len = arr.length let indexOf = (arr, item) => { for (let i = 0; i < len; i++){ if(arr[i] === item){ return i } } return -1 } console.log(indexOf(arr, 4))//3 复制代码

第二题


题目描述:

计算给定数组 arr 中所有元素的总和

输出描述

数组中的元素均为 Number 类型 示例代码:

复制代码
1
2
arr = [1,2,3,4] 复制代码

题目解答:

复制代码
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
//方法一 let arr = [1,2,3,4] function sum (arr){ let num = 0 arr.forEach (v => num += v ) return num } console.log(sum(arr))//10 //方法二 let arr2 =[1,3,9,55,44,3,4] let result = arr2.reduce((a,b) => a+b, 0) console.log(result)//119 //a: 上次回调的结果 //b: 遍历的每一项数据 //0: a的初始值 复制代码

第三题


题目描述:

移除数组 arr 中的所有值与 item 相等的元素。不要直接修改数组 arr,结果返回新的数组

示例代码:

复制代码
1
2
3
4
5
6
#输入 arr = [1, 2, 2, 3, 4, 2, 2] item = 2 #输出 [1, 3, 4] 复制代码

题目解答:

复制代码
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
//方法一 let arr = [1, 2, 2, 3, 4, 2, 2] let item = 2 function filter(arr){ let arr2 =[] arr.forEach(v => { if(v !== item){ arr2.push(v) } }) return arr2 } console.log(filter(arr))//[1, 3, 4] //方法二 let arr = [1, 2, 2, 3, 4, 2, 2] let item = 2 let arr2 = arr.filter(v => v !== item) console.log(arr2)//[1, 3, 4] 复制代码

第四题


题目描述:

移除数组 arr 中的所有值与 item 相等的元素,直接在给定的 arr 数组上进行操作,并将结果返回

示例代码:

复制代码
1
2
3
4
5
6
7
#输入 item = 2 arr = [1, 2, 2, 3, 4, 2, 2] #输出 [1, 3, 4] 复制代码

题目解答:

复制代码
1
2
3
4
5
6
7
8
9
10
11
12
13
let arr = [1, 2, 2, 3, 4, 2, 2] let item = 2 function fn(arr, item){ //倒序遍历 for(let i = arr.length - 1; i >= 0; i--){ if(arr[i] === item){ arr.splice(i, 1) } } } fn(arr, item) console.log(arr)//[1, 3, 4] 复制代码

第五题


题目描述:

在数组 arr 末尾添加元素 item。不要直接修改数组 arr,结果返回新的数组 示例代码:

复制代码
1
2
3
4
5
6
7
#输入 arr = [1,2,3,4] item = 5 #输出 [1,2,3,4,5] 复制代码

题目解答:

复制代码
1
2
3
4
5
6
7
8
9
10
11
12
let arr = [1,2,3,4] let item = 5 function push(arr, item){ let newArr = [...arr] newArr.push(item) //先复制数组 后对新数组push return newArr } console.log(arr)//[1, 2, 3, 4] console.log(push(arr, item))// [1, 2, 3, 4, 5] 复制代码

第六题


题目描述:

删除数组 arr 最后一个元素。不要直接修改数组 arr,结果返回新的数组 示例代码:

复制代码
1
2
3
4
5
6
#输入 arr = [1,2,3,4] #输出 [1,2,3] 复制代码

题目解答:

复制代码
1
2
3
4
5
6
7
8
let arr = [1,2,3,4] function removeLast(arr){ let newArr = arr.slice(0,arr.length - 1) return newArr } console.log(removeLast(arr))//[1,2,3] console.log(arr)//[1,2,3,4] 复制代码

第七题


题目描述:

在数组 arr 开头添加元素 item。不要直接修改数组 arr,结果返回新的数组 示例代码:

复制代码
1
2
3
4
5
6
#输入 arr = [1, 2, 3, 4] item = 5 #输出 [5, 1, 2, 3, 4] 复制代码

题目解答:

复制代码
1
2
3
4
5
6
let arr = [1, 2, 3, 4] let item = 5 let newArr = arr.slice() newArr.unshift(item) console.log(newArr)//[5, 1, 2, 3, 4] 复制代码

第八题


题目描述:

删除数组 arr 第一个元素。不要直接修改数组 arr,结果返回新的数组 示例代码:

复制代码
1
2
3
4
5
#输入 arr = [1, 2, 3, 4] #输出 [2, 3, 4] 复制代码

题目解答:

复制代码
1
2
3
4
5
6
7
let arr = [1, 2, 3, 4] let newArr = [] for(let i = 1; i < arr.length; i++){ newArr[i-1] = arr[i] } console.log(newArr)//[2, 3, 4] 复制代码

第九题


题目描述:

合并数组 arr1 和数组 arr2。不要直接修改数组 arr,结果返回新的数组 示例代码:

复制代码
1
2
3
4
5
6
#输入 [1, 2, 3, 4], ['a', 'b', 'c', 1] #输出 [1, 2, 3, 4, 'a', 'b', 'c', 1] 复制代码

题目解答:

复制代码
1
2
3
4
5
6
7
8
9
10
11
12
//方法一 let arr1 = [1, 2, 3, 4] let arr2 = ['a', 'b', 'c', 1] let newArr = [...arr1, ...arr2] console.log(newArr)//[1, 2, 3, 4, "a", "b", "c", 1] //方法二 let arr1 = [1, 2, 3, 4] let arr2 = ['a', 'b', 'c', 1] let newArr = [].concat(arr1, arr2) console.log(newArr)//[1, 2, 3, 4, "a", "b", "c", 1] 复制代码

第十题


题目描述:

在数组 arr 的 index 处添加元素 item。不要直接修改数组 arr,结果返回新的数组 示例代码:

复制代码
1
2
3
4
5
6
7
8
##输入 arr = [1, 2, 3, 4] item = 'z' index = 2 #输出 [1, 2, 'z', 3, 4] 复制代码

题目解答:

复制代码
1
2
3
4
5
6
7
8
let arr = [1, 2, 3, 4] let item ="z" let index = 2 let newArr = [...arr] //复制数组 newArr.splice(index, 0, item) console.log(newArr)//[1, 2, "z", 3, 4] 复制代码

第十一题


题目描述:

统计数组 arr 中值等于 item 的元素出现的次数 示例代码:

复制代码
1
2
3
4
5
6
#输入 arr = [1, 2, 4, 4, 3, 4, 3] item = 4 #输出 3 复制代码

题目解答:

复制代码
1
2
3
4
5
6
let arr = [1, 2, 4, 4, 3, 4, 3] let item = 4 let count = 0 arr.forEach(v => v === item && count++) console.log(count)//3 复制代码

第十二题


题目描述:

翻转字符串 示例代码:

复制代码
1
2
3
4
5
#输入 str = "123456789" #输出 "987654321" 复制代码

题目解答:

复制代码
1
2
3
4
5
let str = "123456789" //先用split方法转成数组,再对数组调用reverse方法,再用join方法转成字符串 let str2 = str.split("").reverse().join("") console.log(str2)//987654321 复制代码

第十三题


题目描述:

计算阶乘 示例代码:

复制代码
1
2
3
4
5
6
function factorial(){ // code } 输出: factorial(5) // 20 复制代码

题目解答:

复制代码
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
//方法一 function factorial(n){ // n = 5 if(n === 1){ return n } return n * factorial(n - 1) // 递归 } console.log(factorial(5)) //方法二 function factorial(n, target = 1){ if(n === 1)return target; return factorial(n - 1, n * target)//尾递归 } 复制代码

前端小白,第一次发表文章,如有错误地方,请指出,谢谢! 爱生活,爱代码,让我们一起进步吧o(≧∇≦o)

转载于:https://juejin.im/post/5b924a1be51d450e735e1d63

最后

以上就是粗心毛豆最近收集整理的关于js数组的13个题第一题:第二题第三题第四题第五题第六题第七题第八题第九题第十题第十一题第十二题第十三题的全部内容,更多相关js数组内容请搜索靠谱客的其他文章。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(55)

评论列表共有 0 条评论

立即
投稿
返回
顶部