[8kyu]Find Multiples of a Number

该算法题来自于 codewars【语言: javascript】,翻译如有误差,敬请谅解~

  • 任务
  • 在这个简单的练习中,您需要构建一个函数,用于获取一个值(整数)的整数倍的集合,他会接收2个参数(int,limit),在获取该值(int)的整数倍数时,不能超过另一个值(limit)。如果 limit 是这个值的整数倍,那么它也应该包含在返回的集合中。该函数只接收正整数,limit 将始终高于 int 。
  • 例如:
    如果传递的参数是(2,6),函数应该返回[2,4,6],因为2,4,6是2~6之间2的倍数。

  • 解答【如解答有误,欢迎留言指正~】
  • 其一
const findMultiples = (int,limit) => {
      let len = limit%int == 0 ? limit/int : (limit - limit%int)/int;
      let list = [];
      for (let i=1;i<len+1;i++){
        list.push(int*i);
      }
      return list;
}
  • 其二
function findMultiples(int,limit){
      let result = []  
      for (let i = int; i<=limit ; i+=int) {
        result.push(i)   
      } 
      return result
}
// es6 Array.from方法用于将两类对象转为真正的数组:类似数组的对象(array-like object)和可遍历(iterable)的对象(包括ES6新增的数据结构Set和Map)。
// Array.from 还可以接受第二个参数,作用类似于数组的map方法,用来对每个元素进行处理,将处理后的值放入返回的数组。
const findMultiples = (int,limit)=>Array.from({length:~~(limit/int)},(a,i)=>i*int+int);
// es6 fill方法使用给定值,填充一个数组。
function findMultiples(int,limit){
      return Array(Math.floor(limit/int)).fill(1).map((x,i)=>int*(i+1));
}
  • 其五
// es6 fill方法使用给定值,填充一个数组。
function findMultiples(int,limit){
      var list = [];
      var product = int;
      while (product <= limit) {
        list.push(product);
        product += int;
      }
      return list;
}
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

  • 背景 一年多以前我在知乎上答了有关LeetCode的问题, 分享了一些自己做题目的经验。 张土汪:刷leetcod...
    土汪阅读 12,863评论 0 33
  • Scala的集合类可以从三个维度进行切分: 可变与不可变集合(Immutable and mutable coll...
    时待吾阅读 5,933评论 0 4
  • SwiftDay011.MySwiftimport UIKitprintln("Hello Swift!")var...
    smile丽语阅读 4,062评论 0 6
  • 本文参加#川理情·我的大学故事#活动,本人承诺,文章内容均为原创,且未在其他平台发布过。 2015年的9月,这是...
    南覆阅读 267评论 0 2
  • 这是这星期我阅读的第三本书,也是最和我阅读范围不相近的书。 简单地查过了一些资料之后我发现,这本书对于是否能代表最...
    夏禾火阅读 977评论 0 0

友情链接更多精彩内容