当前位置:首页 > 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 实现vue

js 实现vue

实现 Vue 的核心功能 在 JavaScript 中实现 Vue 的核心功能需要模拟数据绑定、虚拟 DOM 和响应式系统。以下是一个简化版的实现思路: 响应式系统 通过 Object.define…

js 实现分页

js 实现分页

实现分页的基本逻辑 分页功能通常需要后端返回数据总量或总页数,前端根据当前页码和每页条数截取对应数据。以下是一个基于JavaScript的简单分页实现方案: 前端分页实现 假设已有从后端获取的完整数…

js实现换肤

js实现换肤

使用CSS变量实现换肤 通过CSS变量可以轻松实现主题切换功能。CSS变量在根元素中定义,通过JavaScript动态修改这些变量值。 :root { --primary-color: #349…

js 实现滚动

js 实现滚动

实现滚动的方法 使用 window.scrollTo() window.scrollTo() 方法可以滚动到文档中的特定位置。可以指定 x 和 y 坐标,或者使用平滑滚动的选项。 // 滚动到指定位…

js实现搜索

js实现搜索

实现搜索功能的方法 在JavaScript中实现搜索功能可以通过多种方式完成,以下是几种常见的实现方法。 使用数组的filter方法 通过数组的filter方法可以筛选出符合条件的数据项。假设有一个…

js图片上传实现

js图片上传实现

图片上传的基本实现 使用HTML的<input type="file">元素配合JavaScript的File API实现基础图片上传功能。HTML部分需要设置accept="image/…