当前位置:首页 > JavaScript

喊7的次数重排js实现

2026-03-02 01:27:35JavaScript

喊7的次数重排js实现

要实现喊7的次数重排功能,可以理解为统计数字中包含7或能被7整除的次数,并按顺序输出这些数字。以下是几种实现方法:

喊7的次数重排js实现

方法一:基础遍历法

function countSevens(n) {
  let result = [];
  for (let i = 1; i <= n; i++) {
    if (i % 7 === 0 || i.toString().includes('7')) {
      result.push(i);
    }
  }
  return result;
}

方法二:优化字符串检查

function countSevens(n) {
  return Array.from({length: n}, (_, i) => i + 1)
    .filter(num => num % 7 === 0 || /7/.test(num));
}

方法三:递归实现

function countSevens(n, current = 1, result = []) {
  if (current > n) return result;
  if (current % 7 === 0 || current.toString().includes('7')) {
    result.push(current);
  }
  return countSevens(n, current + 1, result);
}

方法四:生成器实现

function* sevenGenerator(n) {
  for (let i = 1; i <= n; i++) {
    if (i % 7 === 0 || i.toString().includes('7')) {
      yield i;
    }
  }
}

function countSevens(n) {
  return [...sevenGenerator(n)];
}

这些实现方法都可以输出包含7或能被7整除的数字列表。选择哪种方法取决于具体需求和性能考虑。基础遍历法简单直观,优化字符串检查法更简洁,递归实现适合函数式编程风格,生成器实现则适合处理大数据集。

标签: 次数js
分享给朋友:

相关文章

js实现分页

js实现分页

实现分页的基本思路 分页功能通常需要处理数据分割、页码生成和用户交互。核心逻辑包括计算总页数、根据当前页截取数据、渲染页码按钮等。 前端分页实现(静态数据) 假设已有全部数据,仅需前端分页展示:…

js实现复制

js实现复制

使用document.execCommand方法 在较旧的浏览器中,可以使用document.execCommand('copy')实现复制功能。创建一个临时的textarea或input元素,将需要…

js实现瀑布流

js实现瀑布流

实现瀑布流布局 瀑布流布局是一种常见的网页布局方式,常用于图片展示、商品列表等场景。以下是使用 JavaScript 实现瀑布流布局的几种方法。 纯 JavaScript 实现 通过计算元素的位置和…

js实现抽奖

js实现抽奖

实现抽奖功能的基本思路 抽奖功能的核心是随机选择奖项并展示结果。可以通过数组存储奖项,利用随机数生成索引,最后通过动画增强用户体验。 准备奖项数据 定义一个数组存储奖项信息,每个奖项可以包含名称、图…

js实现百叶窗

js实现百叶窗

使用CSS和JavaScript实现百叶窗效果 通过CSS动画和JavaScript事件监听可以实现百叶窗效果。核心思路是将内容区域分割为多个条状元素,通过控制它们的展开/折叠状态来模拟百叶窗。 &…

js类实现

js类实现

使用类实现 JavaScript 功能 在 JavaScript 中,类(Class)是一种语法糖,基于原型继承机制。通过 class 关键字可以更直观地定义对象模板。 基本类定义 class…