【发布时间】:2018-10-10 14:45:31
【问题描述】:
我是web development 的新手。在这里,我确实有一个类似于
[{
endOffset: "50"
startOffset: "25"
type: "Education"
},
{
endOffset: "67"
startOffset: "55"
type: "address"
},
{
endOffset: "65"
startOffset: "59"
type: "project"
},
{
endOffset: "80"
startOffset: "70"
type:"fullname"
}]
在这个对象数组中,现在我根据 endoffsets 对其进行排序。就像 ->
jsonDataArray.sort(function (a, b) {
return a.startOffset - b.startOffset;
});
然后它给了我排序的数组。但这里仅根据startoffset 进行排序。
我想要的是我想要一个像这样的数组,它将按 start 和 endoffset 的升序排序,这样数组就会像
[{
starOffset: "25",
type: "Education"
}, {
endOffset: "50"
type: "Education" },
{
startoffset: "55"
type: "address" },
{
startoffset: "59"
type: "project" },
{
endoffset: "65"
type: "project" },
{
endoffset: "67"
type: "address"
},
{
endoffset: "67"
type: "address"
},
{
startOffset: "70"
type: "address"
},
{
endoffset: "80"
type: "address"
},
]
那么,我该怎么做呢?有人可以帮我解决这个问题吗?
【问题讨论】:
-
你可以查看这个话题:“How to sort an array of objects by multiple fields?”,好像和你的问题有关。
-
为了让您免于未来的头痛/问题:您的代码中不涉及 JSON -
jsonDataArray是一个对象数组,与 JSON 没有任何关系。 -
好的,谢谢。为此。
-
那么如果 startOffset 相同,你想按 endOffset 排序吗?
-
所以,在这种情况下,首先出现的将首先添加到数组中
标签: javascript jquery arrays angularjs