根据对象中 某个key的数字或者字母(A,B,a,b)排序

        let objArr = [{
                questionAnswer: "喜欢",
                AnswerKey: "C"
            },
            {
                questionAnswer: "不喜欢",
                AnswerKey: "A"
            },
            {
                questionAnswer: "非常喜欢",
                AnswerKey: "D"
            },
            {
                questionAnswer: "一般",
                AnswerKey: "B"
            }
        ]

        function sortByKey(arr, reverse) {
            //不传reverse或者reverse为true为正序否则为倒序
            if (reverse == undefined) reverse = 1
            else reverse = reverse ? 1 : -1;
            return function(a, b) {
                //return的函数  a,b为sort方法的两个参数
                a = a[arr];
                b = b[arr];
                if (a < b) {
                    return reverse * -1;
                }
                if (a > b) {
                    return reverse * 1;
                }
                return 0;
            };
        }
        let result = objArr.sort(sortByKey("AnswerKey"))
        console.log(result)

不只是A,B,C  数字同理可用

posted on 2020-08-06 14:58  写最骚的代码  阅读(262)  评论(0编辑  收藏  举报