javascript数组基础练习题

练习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)
  • 1
    点赞
  • 50
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值