javascript - 用数字对字母数字进行排序
问题描述
我正在寻找用 lodash 对字母数字进行排序并编写以下函数,我对两种类型都使用通用函数(排序字母和排序字母数字)
import sortBy from 'lodash/sortBy';
export const SecondaryQueryExecutor = ({ query, updateState, isJsonData }) => {
const { loading, data, errorRedirect: error } = useSectionQuery(query, null, isJsonData);
updateState(draft => {
draft.loading = { ...draft.loading, [query.resultFieldName]: loading };
});
updateState(draft => {
draft.queryResults = {
...draft.queryResults,
[query.resultFieldName]: sortBy(data, o => o.name) // this is where I applied sorting
};
});
return error || null;
};
但是这种排序看起来不起作用,它的排序如下
任何人都可以让我知道如何使用上述值实现字母数字排序,并且还需要解决字母排序问题。
提前谢谢了 !!!
解决方案
如果你想按数字排序......那么你需要对数字进行排序,而不是文本!
建议:
- 将您的值(数值!)存储在数组中。例子:
[2,-1,4]
- 对数组进行排序。例子:
[-1, 2, 4]
- 一次读取排序后的数组一个元素并格式化该值。例子:
let s = '+/-' + a[i] + '"';
推荐阅读
- c++ - 为什么在右值编译时调用地址运算符?
- node.js - NodeJS请求库未返回事件“响应”的经过时间
- javascript - 未捕获的错误:无法解析 LoginComponent 的所有参数:(?)在 Angular 7 和 webpack 中
- wordpress - Wordpress 页脚服装化
- php - 在codeigniter中将数据从数组传递到另一个数组的问题
- c - C - 从 string2 替换 string1 中最常见的字母到最不常见的字母
- c# - 如何在类中动态创建属性
- google-sheets - 带有公式的条件格式不会跨多行应用样式
- python - 如何清除谷歌工作表的所有内容?
- javascript - 为什么不将 Flask 变量传递给 html?