按 Javascript 数组中出现的次数(计数)排序

2024-03-13

我是 Jquery 和 Javascript 的新手。有人可以帮我根据数组中出现的次数(计数)进行 Jquery 排序吗?我尝试了各种排序方法,但没有一个有效。

我有一个 Javascript 数组,它是

allTypesArray = ["4", "4","2", "2", "2", "6", "2", "6", "6"]

// here  2 is printed four times, 6 is printed thrice, and 4 is printed twice

我需要这样的输出

newTypesArray = ["2","6","4"]

I tried

function array_count_values(e) {
var t = {}, n = "",
    r = "";
var i = function (e) {
    var t = typeof e;
    t = t.toLowerCase();
    if (t === "object") {
        t = "array"
    }
    return t
};
var s = function (e) {
    switch (typeof e) {
    case "number":
        if (Math.floor(e) !== e) {
            return
        };
    case "string":
        if (e in this && this.hasOwnProperty(e)) {
            ++this[e]
        } else {
            this[e] = 1
        }
    }
};
r = i(e);
if (r === "array") {
    for (n in e) {
        if (e.hasOwnProperty(n)) {
            s.call(t, e[n])
        }
    }
}
return t
}
6: 3
}

输出是{4: 2, 2: 6, 6:3}


我认为一步中没有直接的解决方案,当然它不仅仅是一种排序(排序不会删除元素)。实现此目的的一种方法是构建对象的中间映射来存储计数:

var allTypesArray = ["4", "4","2", "2", "2", "6", "2", "6", "6"];
var s = allTypesArray.reduce(function(m,v){
  m[v] = (m[v]||0)+1; return m;
}, {}); // builds {2: 4, 4: 2, 6: 3} 
var a = [];
for (k in s) a.push({k:k,n:s[k]});
// now we have [{"k":"2","n":4},{"k":"4","n":2},{"k":"6","n":3}] 
a.sort(function(a,b){ return b.n-a.n });
a = a.map(function(a) { return a.k });

请注意,这里不需要 jQuery。当您不操作 DOM 时,您很少需要它。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

按 Javascript 数组中出现的次数(计数)排序 的相关文章

  • 使用 jQuery 值更新 Angular 模型

    您好 我有一个附加在我的模型上的输入字段 当用户手动输入该字段时 会在更改时调用一个函数 这工作正常 并且模型按预期在控制台日志中反映
  • JavaScript 逻辑赋值是如何工作的?

    在 javascript 中 如果我们有一些代码 例如 var a one var b q a alert b 逻辑 OR 运算符会将 a 的值分配给 b 并且警报将为 一 这仅限于作业还是我们可以在任何地方使用它 似乎空字符串被视为与未定
  • jquery:如何检查div中的所有单选按钮是否被选中

    我的 html 看起来像这样 div div
  • 使用 jQuery 的 javascript 关联数组长度

    我正在使用 javascript 关联数组 例如 var testarray testarray one 1 testarray two 2 testarray three 3 我也在旁边使用jquery 如何使用 jquery 或任何其他
  • 大小为 8 的无效写入,C Valgrind,字符串数组

    我一直在使用 valgrind 和 gdb 但我不太明白问题是什么 它跳来跳去太多了 我无法在 gdb 中真正追踪它 而在 valgrind 中我没有足够的信息 这是我的 makeargv 函数 它将 strtok 输出的字符串放入数组中
  • Hydrate with RTK Query 确实会抛出错误

    我有一个非常简单的组件来显示来自本地 API 的数据 使用 Nextjs API 路由制作 我使用 RTK 查询来获取数据 const api createApi reducerPath data baseQuery fetchBaseQu
  • 在 Swift 中检查一个数组是否包含另一个数组的所有元素

    我想为数组编写一个扩展来检查一个数组是否包含另一个数组的所有元素 在我的用例中它是字符串对象 但我一直得到 Cannot convert value of type T Generator Element to expected argum
  • 以编程方式触发 highchart 散点图上某个点的单击事件

    实际上 我有一个小要求 其中有一个带有点列表和下拉列表的散点图 当我从下拉列表中选择一个项目时 应触发其相应的数据点单击 当我在图表上选择一个数据点时 必须执行一些操作 并且下拉列表应根据选择进行更新 我们有什么办法可以做到这一点吗 我尝试
  • 从 html 页面和 javascript 调用 java webservice

    我正在尝试从 javascript 调用 java 实现的 Web 服务 使用 NetBeans IDE 我读过很多关于 jQuery 和 AJAX 的内容 但我似乎无法掌握它 假设我的 Web 服务 WSDL 位于 http localh
  • React TypeError:x 不是函数

    我在子组件中从父组件调用函数 booksRefresh 但出现错误 类型错误 booksRefresh 不是函数 我不知道为什么 因为 booksRefresh 是一个函数 有人可以帮我解释为什么会出现这个错误吗 这是我的代码 import
  • 如何在 JavaScript 中从代理对构造 UTF-16 字符?

    以下计算 Unicode 代码点的 UTF 16 代理对 戴着医用口罩的脸 https emojipedia org face with medical mask 但是如何从代理对构造字符以在字符串中使用呢 const codepoint
  • Skrollr 添加空白

    我已经尝试了一切 我在谷歌上阅读了 4 5 页试图找到适合我的修复程序 已经筋疲力尽了 即使我使用 skrollr 示例 我的问题仍然存在 不是说他们做错了什么 我知道我只是没有正确理解它 因此 我上传了一个演示 仅在移动设备上展示这个尴尬
  • 如何在 jQueryUI 工具提示中换行

    新版本的 jQueryUI 1 9 附带了本机工具提示小部件 经过测试 如果内容 标题属性的值 很短 它就可以正常工作 但如果内容很长 工具提示一旦显示就会与输入文本重叠 有a demo http jqueryui com tooltip
  • jQuery - 未捕获类型错误:对象 # 没有方法“parent”

    我的代码有问题 Chrome代码光谱仪说第21行有问题 问题如下 Uncaught TypeError Object
  • 从java中的字符串数组中删除空值

    java中如何从字符串数组中删除空值 String firstArray test1 test2 test4 我需要像这样没有 null 空 值的 firstArray String firstArray test1 test2 test4
  • 在 Javascript 中创建数组

    我对 javascript 不太熟悉 并且在用 javascript 制作 2d 或者也许我可能需要 3d 数组时遇到了一些麻烦 我目前需要收集 2 条信息 一个 ID 和一个值 因此我创建了以下内容 var myArray var id
  • 如何使用 PHP 获取列中的所有值?

    我一直在到处寻找这个问题 但仍然找不到解决方案 如何从 mySQL 列中获取所有值并将它们存储在数组中 例如 表名称 客户 列名称 ID 名称 行数 5 我想获取此表中所有 5 个名称的数组 我该如何去做呢 我正在使用 PHP 我试图 SE
  • 如何设置javascript对象数组中所有对象的特定属性值(lodash)

    我有以下对象数组 var arr id a1 guid sdfsfd value abc status active id a2 guid sdfsfd value def status inactive id a2 guid sdfsfd
  • 将日期参数传递给对 MVC 操作的 ajax 调用的安全方法

    我有一个 MVC 操作 它的参数之一是DateTime如果我通过 17 07 2012 它会抛出一个异常 指出参数为空但不能有空值 但如果我通过01 07 2012它被解析为Jan 07 2012 我将日期传递给 ajax 调用DD MM
  • 将一维数组转换为二维数组[重复]

    这个问题在这里已经有答案了 我正在开发一个程序 我必须将文本文件中的值读入一维数组 我已经成功获取该一维数组中的数字 m1 1 2 3 4 5 6 7 8 9 但我希望数组是 m1 1 2 3 4 5 6 7 8 9 您可以使用此代码 co

随机推荐

  • 为什么 Spring-Data-JPA 异步不起作用?

    我正在尝试使用 Spring Boot 和 Spring data JPA 创建一个非阻塞休息服务 如何使用 Spring Data JPA Async 支持对实体进行异步保存 尽管其他选择似乎在同一实体上工作 但下面的代码对我不起作用 我
  • 从 R 中的箱线图框架中删除顶部和右侧边框

    有谁知道如何删除 R 中箱线图框架的顶部和右侧边框 我尝试过参数frame FALSE 但这会删除除左侧 y轴 之外的所有边 我只想显示 x 轴和 y 轴 提前致谢 我认为你需要使用axis side 1 绘图后 x lt 1 5 boxp
  • 我可以使用什么工具来合并 wsdl 和 xsd 文件?

    我有两个文件 一个包含 Web 服务描述 wsdl 第二个包含 Web 服务中使用的数据结构 xsd 我什么都没有了 网络服务还不能工作 我需要将它们合并为一个 因为 Delphi 7 WSDL Importer 不能很好地处理包含的 xs
  • Python 在池映射中使用列表/多个参数

    我正在尝试将列表作为参数传递给pool map co refresh input list 然而 pool map没有触发该功能co refresh 并且也没有返回错误 看起来这个过程挂在那里 原始代码 from multiprocessi
  • 更改 VS Code 中注释周围字符的颜色

    如何更改 VS Code 中注释前后字符的颜色 我正在谈论 or 或 字符 我知道如何更改评论颜色 如何更改 Visual Studio 代码中注释的颜色 https stackoverflow com questions 45195023
  • TypeScript - 扩展标准库 Math 的类型定义

    我想使用 javascript 库 种子随机 js https github com davidbau seedrandom 在 TypeScript 项目中 尚无法弄清楚如何为此库编写类型定义 该库使用附加方法扩展了标准 javascri
  • 使用下载管理器下载后安装 apk 并退出应用程序

    我已经创建了一个 Android 应用程序 如果有任何新版本发布 它将从服务器自动开始使用内置的 下载管理器 下载 为了在完成下载后自动安装 我创建了一个广播接收器来通知下载已完成并完成 然后我开始安装它 在我停留在应用程序中时它工作正常并
  • 函数重载的用途/优点是什么?

    函数重载的用途 优点是什么 IMO 主要的好处是方法 函数命名的一致性 这些方法 函数在逻辑上执行非常相似的任务 并且在接受不同的参数方面略有不同 这允许在多个实现中重复使用相同的方法名称 例如过载 好 function Person Fi
  • RxJS:如何让一个观察者处理多个可观察对象?

    我正在使用一个调用我实现的函数的框架 我希望这个函数的参数转换为可观察的 并通过一系列观察者发送 我以为我可以为此使用一个主题 但它的行为并不像我预期的那样 为了澄清一下 我有类似以下代码的内容 我想Option 1下面的方法可行 但到目前
  • 使用缓存存储 API 保存自定义响应

    我在用着缓存存储 https developer mozilla org en US docs Web API Cache构建渐进式 Web 应用程序 PWA 我需要一个自定义对象put https developer mozilla or
  • jquery 插件:使用 live() 的工具提示插件

    我需要一个依赖于 live 方法而不是普通的 hoever 和 mousemove 的工具提示插件 只是创建了我自己的插件monnaTip http gadelkareem com 2010 02 25 jquery plugin monn
  • 无论如何,是否可以将 firebase 存储用于 flutter 桌面?

    我正在尝试构建一个跨平台应用程序 我使用 firebase 作为数据库 无论如何要使用 firebase 存储用于 flutter 桌面吗 Windows 目前不支持运行使用 Firebase Realtime Database for W
  • YepNope 和 LabJS 的替代品 [关闭]

    Closed 这个问题正在寻求书籍 工具 软件库等的推荐 不满足堆栈溢出指南 help closed questions 目前不接受答案 我想通过资源加载器加载 javascript 和 css 文件 我最初使用 LabJs 但我发现 Ye
  • 获取文本视图和图像视图相对于屏幕顶部的结束位置

    我有一个位图 它下面是一条时间线 作为一个例子 考虑右侧的布局FIGURE https stackoverflow com questions 17103026 canvas containing bitmap size proper ad
  • LLVM 的 amd64 输出中向量的对齐

    我正在尝试通过 LLVM 在结构内部使用向量 我的结构有以下 C 定义 struct Foo uint32 t len uint32 t data 32 attribute aligned 16 下面是一些 LLVM 代码 用于将 42 添
  • 如何检查三元运算符中未定义的变量?

    我对三元运算有疑问 let a undefined Defined Definitely Undefined b abc Defined Definitely Undefined ReferenceError c abc undefined
  • 编码 UI:通过 CSS 选择器查找元素

    我正在尝试为页面构建一个工具 以便我们可以针对它编写测试 我希望能够做的是使用 CSS 选择器来查找给定的一个或多个元素 而不是手动修改 SearchProperties 或 FilterProperties 对于 Web 测试 CSS 选
  • 使用 C# 进行声音合成

    C 是否有可能生成声音 我的意思不仅仅是发出蜂鸣声或打开并播放波形文件 我的意思是使用不同类型的波 正弦波 锯齿波等 及其选项 频率 幅度等 构建信号 查看NAudio https github com naudio NAudio在 Git
  • SQL 列中的 XML:无法调用 nvarchar(max) 上的方法

    我有一个 sql 查询 该查询在我的列名上出现错误 提示 无法调用 nvarchar max 上的方法 SELECT LEARNER COURSE XML TEST XML EX Query declare namespace x http
  • 按 Javascript 数组中出现的次数(计数)排序

    我是 Jquery 和 Javascript 的新手 有人可以帮我根据数组中出现的次数 计数 进行 Jquery 排序吗 我尝试了各种排序方法 但没有一个有效 我有一个 Javascript 数组 它是 allTypesArray 4 4