按字符串值对复杂数组/对象进行排序

时间:2012-06-06 10:28:29

标签: javascript arrays sorting object

  

可能重复:
  How to sort an array of javascript objects?

我有一个对象数组,我想在一个已定义的属性后排序。对象看起来像这样,例如:

CORRECTION

抱歉,这是一个糟糕的阵列。现在是正确的。

我只想比较某个条目的值,例如“col2”,因此只应比较col2的文本属性。

[
    {
        "col1" : {
            "text":"c",
            "otherprop":"bla c"
        },
        "col2": {
            "text":"c",
            "otherprop":"bla c"
        },
        "col3": {
            "text":"c",
            "otherprop":"bla c"
        }
    },
    {
        "col1" : {
            "text":"a",
            "otherprop":"bla a"
        },
        "col2": {
            "text":"a",
            "otherprop":"bla a"
        },
        "col3": {
            "text":"a",
            "otherprop":"bla a"
        }
    },
    {
        "col1" : {
            "text":"b",
            "otherprop":"bla b"
        },
        "col2": {
            "text":"b",
            "otherprop":"bla b"
        },
        "col3": {
            "text":"b",
            "otherprop":"bla b"
        }
    }
]

现在我希望它在每列的属性“text”之后对数组的对象进行排序。

我需要对这些物体Ascending和Descending进行排序的可能性。

ASCENDING

[
    {
        "col1" : {
            "text":"a",
            "otherprop":"bla a"
        },
        "col2": {
            "text":"a",
            "otherprop":"bla a"
        },
        "col3": {
            "text":"a",
            "otherprop":"bla a"
        }
    },
    {
        "col1" : {
            "text":"b",
            "otherprop":"bla b"
        },
        "col2": {
            "text":"b",
            "otherprop":"bla b"
        },
        "col3": {
            "text":"b",
            "otherprop":"bla b"
        }
    },
    {
        "col1" : {
            "text":"c",
            "otherprop":"bla c"
        },
        "col2": {
            "text":"c",
            "otherprop":"bla c"
        },
        "col3": {
            "text":"c",
            "otherprop":"bla c"
        }
    }
]

DESCENDING

[
    {
        "col1" : {
            "text":"c",
            "otherprop":"bla c"
        },
        "col2": {
            "text":"c",
            "otherprop":"bla c"
        },
        "col3": {
            "text":"c",
            "otherprop":"bla c"
        }
    },
    {
        "col1" : {
            "text":"b",
            "otherprop":"bla b"
        },
        "col2": {
            "text":"b",
            "otherprop":"bla b"
        },
        "col3": {
            "text":"b",
            "otherprop":"bla b"
        }
    },
    {
        "col1" : {
            "text":"a",
            "otherprop":"bla a"
        },
        "col2": {
            "text":"a",
            "otherprop":"bla a"
        },
        "col3": {
            "text":"a",
            "otherprop":"bla a"
        }
    }
]

实现这一目标的最佳方式是什么?

感谢您的帮助!

0 个答案:

没有答案