美文网首页
JS数组内元素的比较

JS数组内元素的比较

作者: Nimanggi | 来源:发表于2018-11-25 14:21 被阅读0次
    /**
     * 数组内元素比较
     * @param __prop__ 比较的字段
     * @param __mode__ 从大到小还是从小到大
     */
    Util.prototype.elementCompare = function (__prop__, __mode__) {
    
        return function (obj1, obj2) {
    
            var val1 = obj1[__prop__];
            var val2 = obj2[__prop__];
    
            if (!isNaN(Number(val1)) && !isNaN(Number(val2))) {
                val1 = Number(val1);
                val2 = Number(val2);
            }
    
            if (__mode__ == 'asc') {
                if (val1 < val2) {
                    return -1;
                } else if (val1 > val2) {
                    return 1;
                } else {
                    return 0;
                }
            } else if (__mode__ == 'desc') {
                if (val1 < val2) {
                    return 1;
                } else if (val1 > val2) {
                    return -1;
                } else {
                    return 0;
                }
            } else {
                // noting
            }
        }
    }
    

    相关文章

      网友评论

          本文标题:JS数组内元素的比较

          本文链接:https://www.haomeiwen.com/subject/clypqqtx.html