问题描述
我正在寻找用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] + '"';