任一数字

根据数字对包含混合数字内容
的列进行排序

  • 作者:David Konrad

根据任何数字对列进行排序,忽略文本。如果您在一列中混合了内容,但仍然想按数字排序,此插件非常有用。任何数字意味着

  • 整数,如 42
  • 十进制数,如 42.42 / 42,42
  • 带符号数字,如 -42.42 / +42.42
  • 科学数字,如 42.42e+10
  • 非法数字,如 042 被视为 42,
  • 货币数字,如 €42,00

纯文本被忽略;不包含可识别数字内容的列会被推到表格的底部,无论升序还是降序。

使用

此插件可通过多种不同方式获取和使用。

浏览器

此插件在 DataTables CDN 上可用

JS

然后,此插件会自动把自己注册到一个全局 DataTables 实例中。如果使用的是 AMD 加载器(例如 Require.js),也可使用此文件。

请注意,如果您使用多个插件,最好将插件组合成一个文件并将其托管在您自己的服务器上,而不是向 DataTables CDN 发出多个请求,以提高性能。

NPM

所有插件均在 NPM 上可用(也可以配合 Yarn 或其他任何 Javascript 包管理器使用),作为 datatables.net-plugins 包的一部分。https://npmjs.net.cn/package/datatables.net-plugins。要使用此插件,首先安装插件包

npm install datatables.net-plugins

ES 模块

然后,如果您使用的是 ES 模块,请导入 datatables.net、其他任何需要的 DataTables 扩展以及插件

import DataTable from 'datatables.net';
import 'datatables.net-plugins/sorting/any-number.mjs';

CommonJS

如果您使用的是 CommonJS 加载器(例如适用于 Node 的旧版 Webpack 或非模块 Node 代码),可以使用以下 method require 插件

var $ = require('jquery');
var DataTable = require('datatables.net');
require('datatables.net-plugins/sorting/any-number.js');

示例

$('#example').dataTable( {
     columnDefs: [
       { type: 'any-number', targets : 0 }
     ]
  } );

版本控制

如果您对如何改进此插件有任何想法,或者发现任何错误,可以在 GitHub 上找到此插件,非常欢迎大家提交 pull request!