Javascript排序数组两次
如果我有一系列这样的位置:Javascript排序数组两次,javascript,jquery,arrays,sorting,Javascript,Jquery,Arrays,Sorting,如果我有一系列这样的位置: ["Roberts", "baltimore", "Maryland", "21212"], ["Adams", "baltimore", "Maryland", "21212"], ["Joes", "philadelphia", "Pennsylvania", "30333"], ["Carls", "new york", "New York", "40415"] 使用Javascript或Jquery,我将如何首先按状态,然后按名称对它们进行排序,从而得到以下
["Roberts", "baltimore", "Maryland", "21212"],
["Adams", "baltimore", "Maryland", "21212"],
["Joes", "philadelphia", "Pennsylvania", "30333"],
["Carls", "new york", "New York", "40415"]
使用Javascript或Jquery,我将如何首先按状态,然后按名称对它们进行排序,从而得到以下顺序:
["Adams", "baltimore", "Maryland", "21212"],
["Roberts", "baltimore", "Maryland", "21212"],
["Carls", "new york", "New York", "40415"],
["Joes", "philadelphia", "Pennsylvania", "30333"]
尝试此答案(请参见末尾),但需要明确的自定义条件:
“”“比较(对象1,对象2)如果object1.state>object2.state,则object1大于(1)
如果object1.state
如果object1.name
“”“ (请注意,array.sort中的“array”指的是您的对象数组,前提是您的对象实际上具有字段名“name”和“state”,因为您没有实际指定它们-实际上它们没有字段,因此它们既不是对象也不是数组)。尝试此答案(请参见末尾),但需要明确的自定义条件: “”“比较(对象1,对象2)
如果object1.state>object2.state,则object1大于(1)
如果object1.state
如果object1.name
“”“ (请注意,array.sort中的“array”指的是您的对象数组,前提是您的对象实际上具有字段名“name”和“state”,因为您没有实际指定它们-实际上它们没有字段,因此它们既不是对象也不是数组)。尝试此答案(请参见末尾),但需要明确的自定义条件: “”“比较(对象1,对象2)
如果object1.state>object2.state,则object1大于(1)
如果object1.state
如果object1.name
“”“ (请注意,array.sort中的“array”指的是您的对象数组,前提是您的对象实际上具有字段名“name”和“state”,因为您没有实际指定它们-实际上它们没有字段,因此它们既不是对象也不是数组)。尝试此答案(请参见末尾),但需要明确的自定义条件: “”“比较(对象1,对象2)
如果object1.state>object2.state,则object1大于(1)
如果object1.state
如果object1.name
“”“
(请注意,array.sort中的“array”指的是您的对象数组,前提是您的对象实际上有字段名“name”和“state”,因为您没有实际指定它们-实际上它们没有字段,所以它们不是对象或数组)。如果我们从实际数组开始:
var orig = [
["Roberts", "baltimore", "Maryland", "21212"],
["Adams", "baltimore", "Maryland", "21212"],
["Joes", "philadelphia", "Pennsylvania", "30333"],
["Carls", "new york", "New York", "40415"]
];
我们可以这样分类:
var sorted = orig.sort(
function(a, b) {
// compare states
if (a[2] < b[2])
return -1;
else if (a[2] > b[2])
return 1;
// states were equal, try names
if (a[0] < b[0])
return -1;
else if (a[0] > b[0])
return 1;
return 0;
}
);
示例:如果我们从实际数组开始:
var orig = [
["Roberts", "baltimore", "Maryland", "21212"],
["Adams", "baltimore", "Maryland", "21212"],
["Joes", "philadelphia", "Pennsylvania", "30333"],
["Carls", "new york", "New York", "40415"]
];
我们可以这样分类:
var sorted = orig.sort(
function(a, b) {
// compare states
if (a[2] < b[2])
return -1;
else if (a[2] > b[2])
return 1;
// states were equal, try names
if (a[0] < b[0])
return -1;
else if (a[0] > b[0])
return 1;
return 0;
}
);
示例:如果我们从实际数组开始:
var orig = [
["Roberts", "baltimore", "Maryland", "21212"],
["Adams", "baltimore", "Maryland", "21212"],
["Joes", "philadelphia", "Pennsylvania", "30333"],
["Carls", "new york", "New York", "40415"]
];
我们可以这样分类:
var sorted = orig.sort(
function(a, b) {
// compare states
if (a[2] < b[2])
return -1;
else if (a[2] > b[2])
return 1;
// states were equal, try names
if (a[0] < b[0])
return -1;
else if (a[0] > b[0])
return 1;
return 0;
}
);
示例:如果我们从实际数组开始:
var orig = [
["Roberts", "baltimore", "Maryland", "21212"],
["Adams", "baltimore", "Maryland", "21212"],
["Joes", "philadelphia", "Pennsylvania", "30333"],
["Carls", "new york", "New York", "40415"]
];
我们可以这样分类:
var sorted = orig.sort(
function(a, b) {
// compare states
if (a[2] < b[2])
return -1;
else if (a[2] > b[2])
return 1;
// states were equal, try names
if (a[0] < b[0])
return -1;
else if (a[0] > b[0])
return 1;
return 0;
}
);
示例:结果列表似乎没有按状态排序。数据似乎没有任何JS数据格式。您遇到了什么问题?读取数据存储在哪个文件中?解析自定义数据格式?查找数组排序方法的文档?嗯,这不是有效的JavaScript。已被询问过很多次。。。结果列表似乎没有按状态排序。数据似乎没有任何JS数据格式。您有什么问题?读取数据存储在哪个文件中?解析自定义数据格式?查找数组排序方法的文档?嗯,这不是有效的JavaScript。已被询问过很多次。。。结果列表似乎没有按状态排序。数据似乎没有任何JS数据格式。您有什么问题?读取数据存储在哪个文件中?解析自定义数据格式?查找数组排序方法的文档?嗯,这不是有效的JavaScript。已被询问过很多次。。。结果列表似乎没有按状态排序。数据似乎没有任何JS数据格式。您有什么问题?读取数据存储在哪个文件中?解析自定义数据格式?查找数组排序方法的文档?嗯,这不是有效的JavaScript。已被询问过很多次。。。