1、将数组[2,4,6,8,10]的内容反过来存放,输出[10,8,6,4,2]
function getChange(arr) {
return arr.reverse(arr)
}
let newArr = getChange([2,4,6,8,10])
console.log(newArr)
2、数组筛选,把分数及格(60分)的同学放入一个新数组。
function fun(score) {
let newScore = []
for (let i = 0; i < score.length; i++) {
if (score[i] >= 60) {
newScore[newScore.length] = score[i]
}
}
return newScore
}
let newScore = fun([90, 20, 49, 10, 80, 65, 44, 70, 60])
console.log(newScore)
3、数组排列,把一组数据按从大到小排列(冒泡排序)。
function fun(arr) {
for (let i = 0; i < arr.length - 1; i++) {
for (let j = 0; j < arr.length - i - 1; j++) {
if (arr[j] < arr[j + 1]) {
var num = arr[j]
arr[j] = arr[j + 1]
arr[j + 1] = num
}
}
}
return arr
}
let newArr = fun([13,34,23,4,6,243,2])
console.log(newArr)
4、 var perArr = [
{ name: "张三", age: 18 },
{ name: "李四", age: 28 },
{ name: "王五", age: 8 },
{ name: "张六", age: 48 },
{ name: "赵七", age: 38 },
];
创建一个函数,可以将perArr中的满18岁的Person提取出来,
然后封装到一个新的数组中并返回
function fun(perArr) {
let newPerarr = []
for (let i = 0; i < perArr.length; i++) {
if (perArr[i].age >= 18) {
newPerarr[newPerarr.length] = perArr[i]
}
}
return newPerarr
}
let newPerarr = fun([
{ name: "张三", age: 18 },
{ name: "李四", age: 28 },
{ name: "王五", age: 8 },
{ name: "张六", age: 48 },
{ name: "赵七", age: 38 },
])
console.log(newPerarr)
5、去除重复的数组 var arr = [1, 2, 3, 2, 2, 1, 3, 4, 2, 5];
function fun(arr) {
for (let i = 0; i < arr.length; i++) {
let j = i + 1
while (j < arr.length) {
if (arr[i] === arr[j]) {
arr.splice(j, 1)
continue
}
j++
}
}
return arr
}
let newArr = fun([1, 2, 3, 2, 2, 1, 3, 4, 2, 5])
console.log(newArr)
6、已知有字符串 foo=”get-element-by-id”,写一个 function 将其转化成驼峰表示法”getElementById”。
function fun(foo) {
let arr = foo.split('')
console.log(arr)
for (let i = 0; i < arr.length; i++) {
if (arr[i] == '-') {
arr[i + 1] = arr[i + 1].toUpperCase()
arr.splice(i, 1)
}
}
let newFoo = arr.join('')
return newFoo
}
let newFoo = fun('get-element-by-id')
console.log(newFoo)
7、计算如下数组的和以及平均值。var arr = [10,5,6,9,4,5];
function fun(arr) {
let sum = 0
for (let i = 0; i < arr.length; i++) {
sum += arr[i]
}
return [sum, sum / arr.length]
}
let count = fun([10, 5, 6, 9, 4, 5])
console.log(`该数组的和为:${count[0]}
该数组的的平均值为:${count[1]}`)
8、求数组中的最大值。var arr = [10,5,6,9,4,1];
function fun(arr) {
let max = arr[0]
for (let i = 1; i < arr.length; i++) {
max = max < arr[i] ? arr[i] : max
}
return max
}
let max = fun([10,5,6,9,4,1])
console.log(max)
9、定义两个数组并合并。
function fun(a, b) {
for (let i = 0; i < b.length; i++) {
a.push(b[i])
}
return a
}
let arr = fun([32,342,5,3], [33,4,6,7,8])
console.log(arr)
10、弹出框接收N位评委的打分,去掉一个最高分和一个最低分,求最后的平均分。
function fun(N) {
let arr = []
for (let i = 1; i <= N; i++){
let grade = +prompt(`第${i}位评委的打分为:`)
arr.push(grade)
}
let max = arr[0]
let min = arr[0]
let sum = 0
for (let j = 1; j < arr.length; j++){
max = max < arr[j] ? arr[j] : max
min = min > arr[j] ? arr[j] : min
sum += arr[j]
}
return (sum - max - min)/(arr.length - 2)
}
let avg = fun(5)
console.log(avg)
11、新建一个数组,里面存放1-10个整数。(核心原理:使用循环来追加数组)
let arr = []
for (let i = 1; i <= 10; i++) {
arr.push(i)
}
console.log(arr)
12、将数组中[1,2,3,2,8,9,3,2,7]中的2去掉,形成一个没有2的新数组
let arr = [1,2,3,2,8,9,3,2,7]
for (let i = 0; i < arr.length; i++) {
if (arr[i] === 2) {
arr.splice(i, 1)
}
}
console.log(arr)
13、对数组进行随机排序。
var arr = ["张三","李四","王五","赵六","小帅","小红","大壮","小明","王芳"];
function fun(arr) {
let newArr = []
for (let i = 0, len = arr.length; i < len; i++) {
let random = parseInt(Math.random()*arr.length)
newArr.push(arr[random])
arr.splice(random, 1)
}
return newArr
}
let newArr = fun(["张三","李四","王五","赵六","小帅","小红","大壮","小明","王芳"])
console.log(newArr)
14、把下面数组的首尾两个元素互换
var arr = ["鹿晗", "王俊凯", "蔡徐坤", "彭于晏", "周杰伦", "刘德华", "赵本山"];
function fun(arr) {
let str = arr[0]
arr[0] = arr[arr.length-1]
arr[arr.length-1] = str
return arr
}
let newArr = fun(["鹿晗", "王俊凯", "蔡徐坤", "彭于晏", "周杰伦", "刘德华", "赵本山"])
console.log(newArr)
15、随机选学员
从以下学员名单中随机选出4个学员:
var arr = ["鹿晗", "王俊凯", "蔡徐坤", "彭于晏", "周杰伦", "刘德华", "赵本山"];
注意:不要有重复的学员
function fun(arr) {
let newArr = []
for (let i = 0; i < 4; i++) {
let random = parseInt(Math.random() * arr.length)
newArr.push(arr[random])
arr.splice(random, 1)
}
return newArr
}
let newArr = fun(["鹿晗", "王俊凯", "蔡徐坤", "彭于晏", "周杰伦", "刘德华", "赵本山"])
console.log(newArr)
16、封装一个函数,判断某个值是否存在某个数组里面。
function fun(a, arr) {
for (let i = 0; i < arr.length; i++) {
if (a === arr[i]) {
return alert(`${a}在${arr}里面`)
}
}
return alert(`${a}不在${arr}里面`)
}
fun(24, [1,24,4,6,7,5,6,])