当前位置:首页 > JavaScript

喊7的次数重排js实现

2026-01-31 10:12:48JavaScript

实现喊7次数重排的JavaScript方法

需要统计数字序列中数字7出现的次数,并按出现次数从高到低对数字进行重排。以下是具体实现步骤:

统计数字7出现次数

function countSevens(arr) {
  return arr.reduce((acc, num) => {
    const str = num.toString();
    const count = (str.match(/7/g) || []).length;
    return acc + count;
  }, 0);
}

创建数字到7出现次数的映射

function createCountMap(arr) {
  const map = new Map();
  arr.forEach(num => {
    const str = num.toString();
    const count = (str.match(/7/g) || []).length;
    map.set(num, count);
  });
  return map;
}

按7出现次数排序

function sortBySevens(arr) {
  const countMap = createCountMap(arr);
  return [...arr].sort((a, b) => {
    const countA = countMap.get(a);
    const countB = countMap.get(b);
    return countB - countA || a - b;
  });
}

使用示例

const numbers = [17, 27, 37, 77, 70, 7, 123];
const sorted = sortBySevens(numbers);
console.log(sorted); // [77, 7, 70, 17, 27, 37, 123]

处理特殊情况 对于数字0或负数的情况,可以添加验证:

function validateInput(arr) {
  return arr.every(num => Number.isInteger(num) && num >= 0);
}

性能优化 对于大型数组,可以考虑使用更高效的统计方法:

喊7的次数重排js实现

function optimizedCount(str) {
  let count = 0;
  for (let i = 0; i < str.length; i++) {
    if (str[i] === '7') count++;
  }
  return count;
}

这些方法组合起来可以有效地实现数字按包含7的次数进行重排的功能,同时考虑了各种边界情况和性能优化。

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

相关文章

js实现乘

js实现乘

JavaScript 实现乘法运算 在 JavaScript 中实现乘法运算可以通过多种方式完成,包括基本运算符、函数封装以及高级算法(如大数乘法)。以下是几种常见方法: 使用基本乘法运算符 Jav…

js jquery

js jquery

jQuery 简介 jQuery 是一个快速、简洁的 JavaScript 库,简化了 HTML 文档遍历、事件处理、动画设计和 Ajax 交互。它兼容多种浏览器,提供易于使用的 API,使开发者能够…

js实现密码

js实现密码

密码强度验证 使用正则表达式验证密码强度是一种常见方法。以下代码检查密码是否包含大小写字母、数字和特殊字符,且长度至少为8位: function checkPasswordStrength(pass…

js实现代码雨

js实现代码雨

实现代码雨效果 使用HTML5 Canvas和JavaScript可以轻松实现经典的代码雨效果。以下是完整的实现代码和说明: HTML结构 <!DOCTYPE html> <htm…

js 实现拖拽

js 实现拖拽

实现拖拽的基本步骤 在JavaScript中实现拖拽功能需要监听几个关键事件:mousedown、mousemove和mouseup。以下是实现的基本逻辑。 监听目标元素的mousedown事件,记…

js实现复选框

js实现复选框

实现复选框的基本方法 使用HTML的<input type="checkbox">元素创建复选框,并通过JavaScript监听其状态变化。 <input type="checkb…