You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何使用Underscore.js实现基于距离区间的自定义分组?

用Underscore.js按数值区间分组的解决方案

嘿,我懂你现在的需求——之前用Underscore做整数分组顺顺当当,但现在要按0-1、1-2这种小数区间来分组对吧?其实核心就是给每个数值生成对应的分组标识(key),然后用Underscore的_.groupBy()方法就能轻松搞定!

核心思路

我们需要把每个距离值映射到它所属区间的起始整数:

  • 0 ≤ 距离 < 1 → 分组key为0
  • 1 ≤ 距离 < 2 → 分组key为1
  • 以此类推

这里用Math.floor()函数就刚好合适,它会把小数向下取整,完美匹配我们的区间划分逻辑。

代码示例

直接上可运行的代码:

// 假设你已经引入了Underscore.js(浏览器环境直接用全局变量_,Node.js需先require)
// const _ = require('underscore');

// 你的距离数组
const distances = [0, 0.224, 0.50, 1.22];

// 用_.groupBy实现区间分组
const groupedDistances = _.groupBy(distances, function(distance) {
  // 生成对应区间的分组key
  return Math.floor(distance);
});

console.log(groupedDistances);

输出结果

运行后你会得到完全符合预期的分组:

{
  0: [0, 0.224, 0.50],
  1: [1.22]
}

扩展灵活用法

如果之后需要调整区间步长(比如改成0-0.5、0.5-1这种),只需要修改key的生成逻辑就行:

// 按0.5步长分组
const groupedByHalf = _.groupBy(distances, function(distance) {
  return Math.floor(distance / 0.5);
});

这样0-0.5的数值会分到key0,0.5-1分到key1,以此类推,非常灵活。

内容的提问来源于stack exchange,提问作者Nimesh khatri

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.05.15 04:02:32