JavaScript .sort 覆盖

标签 javascript arrays html sorting

我有一个字符串数组,除了其中的一部分,它们都是相似的,例如:

["1234 - Active - Workroom", 
 "1224 - Active - Breakroom",
 "2365 - Active - Shop"]

我已经知道要按 ID 号排序我只使用了 JavaScript 函数 .sort(),但我不知道如何按区域对字符串进行排序(例如:“Workroom等等。”)。

我想得到的是:

["1224 - Active - Breakroom", 
 "2365 - Active - Shop", 
 "1234 - Active - Workroom"]

“事件”部分将始终相同。

根据我在网上找到的内容,我必须制作一个 .sort() 重写方法来对其进行排序,但我无法弄清楚在重写方法中我需要更改什么。

最佳答案

给你的例子

var items = [
  { name: "Edward", value: 21 },
  { name: "Sharpe", value: 37 },
  { name: "And", value: 45 },
  { name: "The", value: -12 },
  { name: "Magnetic" },
  { name: "Zeros", value: 37 }
];
items.sort(function (a, b) {
    if (a.name > b.name)
      return 1;
    if (a.name < b.name)
      return -1;
    // a must be equal to b
    return 0;
});

您可以创建 1 个对象来描述您的数据。 例子

data1 = { id : 12123, status:"Active", name:"Shop"}

You can implement your logic in sort(). 
Return 1 if a > b ; 
Return -1 if a < b 
Return 0 a == b. 

数组会自动排序跟随返回 希望对您有所帮助。

关于JavaScript .sort 覆盖,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23764017/

相关文章:

java - 选择子数组而不复制到新缓冲区?

arrays - 在使用字符串数组时使用 scanf_s 的正确方法是什么?

html - 将嵌套 ul 放置在右侧

javascript - ER_PARSE_ERROR : You have an error in your SQL syntax

javascript - d3.js 如何定位和更改元素的属性

c - 在 C 中定义全局数组

html - 是否可以像 div 一样将文本环绕在 block 元素周围,就像图像一样

javascript - Azure 媒体服务直接从网络摄像头上传文件

javascript - 如何设置 javascript 按钮的样式?

javascript - 无法获得 onClick 功能以在 body 上工作