几周前我开始使用 javascript/jquery,但我已经卡住了。我有一个具有这种结构的数组/对象:
{
"Array1": [
{
"data1": "value",
"data2": "value"
},
{
"data1": "value",
"data2": "value"
}
],
"Array2": [
{
"data1": "value",
"data2": "value"
},
{
"data1": "value",
"data2": "value"
}
]
}
我想按 Array1 和 Array2 对这个数组进行排序。我尝试以多种方式使用 .sort() 但它总是说:“该对象不支持此属性或方法”。有没有办法进行这种排序?你能给我写一些例子吗?非常感谢。
最佳答案
虽然您无法对对象进行排序,但您可以使用循环、总计、字符串连接和方括号式表示法以所需的顺序访问属性。例如,在您的示例中,如果您添加了一个指示您拥有多少数据点的属性,您可以使用它的值来构建一个循环:
var myArray = {
"Array1": [
{
"data1": "value",
"data2": "value"
},
{
"data1": "value",
"data2": "value"
}
],
"Array2": [
{
"data1": "value",
"data2": "value"
},
{
"data1": "value",
"data2": "value"
}
],
arrayCount:2
}
for (n=1; n<=myArray.arrayCount; n++) {
console.log(myArray["Array" + n]);
}
这将产生与以下相同的效果:
console.log(myArray["Array1"]);
console.log(myArray["Array2"]);
我相信这是以特定顺序访问对象中数据的最佳选择。
关于javascript - 如何对多维 javascript 对象进行排序?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29995428/