javascript - 按数组的值对数组进行排序

标签 javascript jquery arrays

我有以下数组。

var arr = ["1-5", "3-6", "2-4"];

有没有一种方法可以像这样排序:

var arr = ["1-5", "2-4", "3-6"]

我尝试过使用 jquery map 但不能,因为数组的值不是数字。

最佳答案

您可以使用sort功能

第一个数字排序

arr.sort(function (a, b) {

  //  a.split('-') - split a string into an array  - ['1', '5']
  //  a.split('-')[0] - get first element          - '1' 
  // "+" converts string to number                 - 1
  // the same for "b"

  return +a.split('-')[0] - +b.split('-')[0]; 
});

Example

第二数字排序

arr.sort(function (a, b) {
  return +a.split('-')[1] - +b.split('-')[1];
});

Example

关于javascript - 按数组的值对数组进行排序,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27861456/

相关文章:

c - 如何生成一个可以包含所有大于零的自然数的数组?

javascript - 在 javascript onClick 中设置字体颜色的简单方法?

javascript - 向 API-PUT 提交页面

jquery - JqG​​rid 未填充数据

java - Java中可以通过反射创建可变数量且变量名递增的变量吗?

python - 将 Python 数组 ('B' ) 转换为数组 ('H' ) - 总是小端?

javascript - Apollo makeExecutableSchema 抛出错误 "Cannot read property ' 种“未定义”

javascript - 如何在不重新绘制的情况下更新 Highcharts 中的条形图

javascript - 在 Javascript 中创建变量的实例并在匿名函数中访问变量

javascript - JQuery 使用其他元素激活悬停状态