Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/447.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 对字符串值进行排序_Javascript - Fatal编程技术网

Javascript 对字符串值进行排序

Javascript 对字符串值进行排序,javascript,Javascript,我有一个如下所示的数组: 0123456789123456:14 0123456789123456:138 0123456789123456:0 基本上,我需要按从大到小的顺序对它们进行排序,但要按冒号后面的数字进行排序。我知道排序函数有点奇怪,但我不确定如何在不中断冒号前的id和冒号后的值的情况下执行此操作。拆分字符串获取第二个值并按增量排序 常数秒=s=>s.split':'[1]; 变量数组=['0123456789123456:14','0123456789123456:138','

我有一个如下所示的数组:

0123456789123456:14
0123456789123456:138
0123456789123456:0

基本上,我需要按从大到小的顺序对它们进行排序,但要按冒号后面的数字进行排序。我知道排序函数有点奇怪,但我不确定如何在不中断冒号前的id和冒号后的值的情况下执行此操作。

拆分字符串获取第二个值并按增量排序

常数秒=s=>s.split':'[1]; 变量数组=['0123456789123456:14','0123456789123456:138','0123456789123456:0']; array.sorta,b=>secondb-seconda;
console.logarray 拆分字符串获取第二个值并按增量排序

常数秒=s=>s.split':'[1]; 变量数组=['0123456789123456:14','0123456789123456:138','0123456789123456:0']; array.sorta,b=>secondb-seconda;
console.logarray 假设数组中的项的结构如所述是已知的,您可以这样对其进行排序

constYourArray=[0123456789123456:14','0123456789123456:138','0123456789123456:0']; yourray.sorta,b=>b.split':'[1]-a.split':'[1];
console.logyourArray 假设数组中的项的结构如所述是已知的,您可以这样对其进行排序

constYourArray=[0123456789123456:14','0123456789123456:138','0123456789123456:0']; yourray.sorta,b=>b.split':'[1]-a.split':'[1];
console.logyourArray 您可以使用以下帮助程序对javascript中的字符串数组进行排序:

data.sort((a, b) => a[key].localeCompare(b[key]))

您可以使用以下帮助程序对javascript中的字符串数组进行排序:

data.sort((a, b) => a[key].localeCompare(b[key]))

您可以使用“排序”和“反转”,如下所示,在浏览器控制台中尝试:

var arrStr = [
  '0123456789123456:14',
  '0123456789123456:138',
  '0123456789123456:0'
];

arrStr.sort();

console.log(arrStr);

arrStr.reverse();

console.log(arrStr);

您可以使用“排序”和“反转”,如下所示,在浏览器控制台中尝试:

var arrStr = [
  '0123456789123456:14',
  '0123456789123456:138',
  '0123456789123456:0'
];

arrStr.sort();

console.log(arrStr);

arrStr.reverse();

console.log(arrStr);

@托马斯维克曼,从头到尾。我读降序。“强制转换是用减号运算符隐式执行的。@ThomasWikman,从最大到最小。我读降序。使用减号运算符进行强制转换。这给出了错误的顺序。-不需要数字,因为是负数。这会将所有操作数转换为一个数字。将答案更新为只需要一个数字。这是错误的顺序不需要数字,因为是负数。这会将所有操作数转换为一个数字。将答案更新为只需要一个数字。泰