首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >在underscore.js中按日期对数组排序

在underscore.js中按日期对数组排序
EN

Stack Overflow用户
提问于 2020-04-10 01:24:28
回答 1查看 56关注 0票数 0

我正在使用Coffescript、underscore.js、knockout,并且我尝试按日期对数组进行排序,但由于某些原因,它不起作用

代码语言:javascript
复制
let accounts = [
  {
    id: 101,
    content: "abc1",
    createdDate: "2015-12-22T00:00:00"
  },
  {
    id: 102,
    content: "abc2",
    createdDate: "2012-12-22T00:00:00"
  }

]

这就是我用coffeescript编写代码的方式

代码语言:javascript
复制
_.sortBy(accounts, (a) ->  a.createdDate)

在JS中生成的相同代码

代码语言:javascript
复制
return this.accounts(_.sortBy(accounts, function(a) {
      return a.createdDate;
    }));

请告诉我哪里出错了。我没有收到任何错误,但是数组没有按日期排序。

EN

回答 1

Stack Overflow用户

发布于 2020-04-10 01:33:52

您的JSON语法无效,并且没有createdDate属性,应该如下所示:

代码语言:javascript
复制
accounts = [
  {
    id: 102,
    content: "abc",
    createdDate: "2015-12-22T00:00:00"
  }
]

因此,您可以在编写时使用函数(使用=>而不是->)。

工作示例:

代码语言:javascript
复制
let accounts = [
  {
    id: 101,
    content: "abc1",
    createdDate: "2015-12-22T00:00:00"
  },
  {
    id: 102,
    content: "abc2",
    createdDate: "2012-12-22T00:00:00"
  },
  {
    id: 103,
    content: "abc3",
    createdDate: "2018-12-22T00:00:00"
  }
]

accounts = _.sortBy(accounts, (a) =>  a.createdDate)
console.log(accounts)
代码语言:javascript
复制
<script src="https://cdnjs.cloudflare.com/ajax/libs/underscore.js/1.9.1/underscore.js"></script>
<script src="https://cdnjs.cloudflare.com/ajax/libs/knockout/3.4.2/knockout-min.js"></script>

当然,idcontent只是一个例子。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/61126763

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档