js 对数组进行自定义排序(以字符串数组为例)

今天开发过程当中,有个优化的地方,须要对字符串数组进行排序,首先想到的是写2个遍历,可是这样的话代码显得比较冗余,查看相关资料后决定用 Array 自带的 sort 方法,话很少说,先上代码:数组

var arr = ["aaa","bbb(***)","ccc","ddd"];
console.log("排序前----->>"+arr);
arr.sort(function (a,b) {
    if (a.indexOf("(") < b.indexOf("(")) {
        return 1;
    } else {
        return -1;
    }
});
console.log("排序后----->>"+arr);

思路:业务须要会对元素进行一些处理,好比在某个元素后加上一些标识或说明,经过indexOf 方法判断自定义的标识是否存在于该元素中(此处要注意元素自己是否会带有自定义标识),而后返回结果。