js中数组常见逻辑练习1 您所在的位置:网站首页 js生成随机数字相加减并判断对的次数的代码 js中数组常见逻辑练习1

js中数组常见逻辑练习1

2024-07-13 11:53| 来源: 网络整理| 查看: 265

目录 题目简述需求分析和实现需求1分析实现展示 需求2分析实现展示 需求3分析实现 需求4分析实现

题目简述

编写一个程序,用于产生20个0-10之间的随机数,将这20个随机数存入数组,并通过函数统计这些随机数中出现的次数最多的数,并且统计他出现了多少次。

需求分析和实现 需求1 分析

-创建一个函数, 产生20个0-10之间的随机数,且将这20个随机数存入数组 要实现这一需求,我们可以分析到: 1.创建一个函数 2. 创建一个数组去接收这20个随机数 3. 生成20个随机数 4. 随机数的区间为0-10 5. 赋值

实现 function count() { // 创建一个数组去接收下面的20个随机数 var arr = new Array(20); // 获取0-10的20个随机数 for (var i = 0; i } for (var i = 0; i // 定义对象的属性名找到了,属性值+1 record[n]++ } else { //如果在定义的对象中没找到,则把属性值设为1 record[n] = 1 } } // 输出一下record对象检验 console.log(record) 展示

此时对象record中接收上面数组arr中每个数出现的次数,如下 展示

需求3 分析

这一步主要是为了从上面的record对象中输出出现次数最多的数,以及出现最多次数的数 **注意:**假如1出现3次,2也出现3次,这里只输出在随机数组中首先出现的次数最多的数

定义一个出现次数最多的对象result给result赋值在循环中比较并相应赋result值,最后输出result。 实现 方法1 (便于理解版) // 定义一个出现次数最多的对象为result,假设第一个是最大的 result = { // 假设里面的第一个属性是上面arr的第一个数 // 第一个属性对应的属性值为对应record的arr的第一个值对应的个数 number: arr[0], count: record[arr[0]] } for (var prop in record) { //当做完上面部分,这时可以开始比较赋值,当record[prop]大于result.count时,给result的number赋值为prop,count赋值record[prop]; result = { number: prop, count: record[prop] } } } 方法2(稍微升级一丢丢) // 定义一个出现次数最多的对象为result,假设第一个是最大的 var result; for (var prop in record) { // 当还没有赋值,为空时,给他附上第一个上面查到的值,但是因为是随机数,不知道是哪一个,因此调用上面对象的第一个属性,当调用完第一个属性后,后面就不会进去了 if (!result) { result = { number: prop, count: record[prop] } } // 这步和上面一样 if (record[prop] > result.count) { result = { number: prop, count: record[prop] } } } 方法3(在升级一丢丢) // 定义一个出现次数最多的对象为result,假设第一个是最大的 var result; // 循环遍历对象 for (var prop in record) { //我们可以发现,上面的代码是一样的,为了节省代码量可以这样写。 if (!result || record[prop] > result.count) { result = { number: prop, count: record[prop] } }

方法很多,这里只做这一种的演示,有更多办法欢迎交流。

需求4 分析

实现目标输出

实现 console.log(result); 当然这里可以直接return result;

end



【本文地址】

公司简介

联系我们

今日新闻

    推荐新闻

    专题文章
      CopyRight 2018-2019 实验室设备网 版权所有