目录
- 练习1: 使用for循环 - 求出数组元素的和 [3, 9, 9, 2, 7, 5]
- 练习2: 使用for循环 - 求出数组里大于5的和 [4, 9, 6, 90, 3, 11]
- 练习3: 使用for循环 - 求出班级里同学们平均年龄[15, 19, 21, 33, 18, 24]
- 练习4: 打印数组里所有的奇数 [5, 2, 8, 10, 3, 7]
- 练习5: 计算[2, 6, 18, 15, 40] 中能被3整除的偶数的和
- 练习6: 计算[2, 6, 18, 15, 40] 中能被3整除的偶数的个数
- 练习7:给一个数字数组,该数组中有很多数字0,将不为0的数据存入到一个新的数组中
- 练习8:点名: 每次刷新网页运行, 在控制台 随机输出一位同学的名字 ["老赵", "老李", "小传", "小黑"],如果输出了,则数组中删除这个名字
- 1,判断数组是否包含 10
- 判断数组是否含有id为4的项
- 返回id大于5的的新数组
- // 返回一个只有name的新数组
- 面试题
- 1, 打印倒立三角形
- 2, 一个字符串,打印每个字符出现的次数, 打印出现最多的出现了几次? 打印出现最多的是那个字符?
- 3, 打印出一个数组中的某一个数, 出现过几次
练习1: 使用for循环 - 求出数组元素的和 [3, 9, 9, 2, 7, 5]
//循环实现
/* let arr = [5, 8, 9, 2, 1, 5]
let sum = 0
for (let i = 0; i < arr.length; i++) {
sum += arr[i]
}
console.log(sum); */
// 套函数实现
function ayy(arr) {
let sum = 0
let sum1 = 0
for (let i = 0; i < arr.length; i++) {
sum += arr[i]
}
sum1 = sum / arr.length
return [sum, sum1]
}
let x = ayy([5, 8, 9, 2, 1, 5])
// 和
console.log(x[0]);
// 平均值
console.log(x[1]);
练习2: 使用for循环 - 求出数组里大于5的和 [4, 9, 6, 90, 3, 11]
function arr(ayy) {
let sum = 0
for (let i = 0; i < ayy.length; i++) {
if (ayy[i] > 5) {
sum += ayy[i]
}
}
return sum
}
let a = arr([4, 9, 5, 20, 3, 11])
console.log(a);
练习3: 使用for循环 - 求出班级里同学们平均年龄[15, 19, 21, 33, 18, 24]
function ayy(arr) {
let sum = 0
let average = 0
for (let i = 0; i < arr.length; i++) {
sum += arr[i]
}
average = sum / arr.length
return [sum, average]
}
let x = ayy([15, 19, 21, 33, 18, 24])
//年龄和
console.log(x[0]);
//平均年龄
console.log(x[1]);
练习4: 打印数组里所有的奇数 [5, 2, 8, 10, 3, 7]
function ayy(arr) {
for (let i = 0; i < arr.length; i++) {
// arr[i] % 2 != 0 ? console.log(arr[i]) : 0
if (arr[i] % 2 != 0) {
document.write(`${arr[i]}<br>`)
}
}
}
ayy([5, 2, 8, 10, 3, 7])
练习5: 计算[2, 6, 18, 15, 40] 中能被3整除的偶数的和
function ayy(arr) {
let sum = 0
for (let i = 0; i < arr.length; i++) {
if (arr[i] % 3 == 0 && arr[i] % 2 == 0) {
sum += arr[i]
}
}
return sum
}
let x = ayy([2, 6, 18, 15, 40])
console.log(x);
练习6: 计算[2, 6, 18, 15, 40] 中能被3整除的偶数的个数
function ayy(arr) {
let sum = 0
for (let i = 0; i < arr.length; i++) {
if (arr[i] % 3 == 0 && arr[i] % 2 == 0) {
++sum
}
}
return sum
}
let x = ayy([2, 6, 18, 15, 40])
console.log(x);
练习7:给一个数字数组,该数组中有很多数字0,将不为0的数据存入到一个新的数组中
let arr = [0, 44, 2435, 0, 23, 0, 4235]
// 创建新的数组用来接收
let arr1 = []
for (let i = 0; i < arr.length; i++) {
if (arr[i] + 1 != 1) {
arr1.push(arr[i])
}
}
console.log(arr1);
练习8:点名: 每次刷新网页运行, 在控制台 随机输出一位同学的名字 [“老赵”, “老李”, “小传”, “小黑”],如果输出了,则数组中删除这个名字
let arr = ['老赵', '老李', '老l', '小川']
let random = Math.floor(Math.random() * (arr.length))
document.write(arr[random])
arr.splice(random, 1)
console.log(arr);
-------------------------------------------------------------------------------
1,判断数组是否包含 10
let a = [5, 2, 10, 4, 1, 6];
// for (let i = 0; i < a.length; i++) {
// if (a[i] === 10) {
// console.log('此数组包含10');
// }
// }
//includes() 方法用来判断一个数组是否包含一个指定的值,如果是返回 true,否则false。
console.log(a.includes(10));
判断数组是否含有id为4的项
let b = [
{ id: 10, name: 'zs' },
{ id: 9, name: 'ls' },
{ id: 5, name: 'ww' },
{ id: 4, name: 'zl' },
{ id: 1, name: 'cq' },
]
for (let i = 0; i < b.length; i++) {
if (b[i].id == 4) {
console.log('包含');
console.log(b[i].id);
}
}
返回id大于5的的新数组
let b = [
{ id: 10, name: 'zs' },
{ id: 9, name: 'ls' },
{ id: 5, name: 'ww' },
{ id: 4, name: 'zl' },
{ id: 1, name: 'cq' },
]
// let obj = []
// for (let i = 0; i < b.length; i++) {
// if (b[i].id > 5) {
// obj.push(b[i].id)
// }
// }
// console.log(obj);
// console.log(b.filter(item=>item.id > 5));
//以下使用function函数方法,其主要作用是参数传递
var c = b.filter(function (item) {
return item.id > 5;
})
console.log(c);
// 返回一个只有name的新数组
let b = [
{ id: 10, name: 'zs' },
{ id: 9, name: 'ls' },
{ id: 5, name: 'ww' },
{ id: 4, name: 'zl' },
{ id: 1, name: 'cq' },
]
let int = []
for (let i = 0; i < b.length; i++) {
int.push({name:b[i].name})
}
console.log(int);
面试题
1, 打印倒立三角形
// 打印倒立三角形
let num = 6
// 方法一
for (let x = num ; x > 0 ; x--) {
document.write('<br>')
for (let y = x ; y > 0 ; y--) {
document.write('*')
}
}
2, 一个字符串,打印每个字符出现的次数, 打印出现最多的出现了几次? 打印出现最多的是那个字符?
var str = 'abcdefxgoozzop'
var arr = str.split("")
var obj = {}
for (let i = 0; i < arr.length; i++) {
if (obj[arr[i]]) {
obj[arr[i]]++
} else {
obj[arr[i]] = 1
}
}
for (var k in obj) {
console.log(`${k}在数组中出现过的次数为${obj[k]}次`)
}
console.log(obj)
3, 打印出一个数组中的某一个数, 出现过几次
let arr = [1,1,1,1,1,1, 3,3,3,3,3,3,3,3,3,5,5,5,5]
let num = 0
arr.forEach((item) => {
if (item === 1) {
num += 1
}
})
console.log(num)