javascript - 如何对多维 javascript 对象进行排序?

标签 javascript jquery arrays sorting object

几周前我开始使用 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/

相关文章:

Jquery 图像 slider |使用快速鼠标重复显示/隐藏功能

jquery - 更改将在手机上显示的主要内容的 jQuery Mobile 背景颜色

javascript - 迭代 "looped"数组

javascript - 按字符串属性值对对象数组进行排序

javascript - 更新 URL 而不刷新页面

javascript - 使用 JavaScript 显示/隐藏 <div>

javascript - 在类中添加全局jquery变量

javascript - 按字符串对 Javascript 对象数组进行排序

javascript - jquery显示:none,显示:内联 block

javascript - 如何将当前上下文保存到 Javascript 中的局部变量