去哪儿网,前端母羊生母羊
那个题,有没有大佬解答下前端这两个题
顺便问一下 第二个字符串匹配并排序的排序是何意思?
var arr = ["ykit-config-yo","mykit","fekit","ykit-config-fekit","ykit","mykitcon"]; var n = arr.length; var suffix = "ykit"; var reg1 = new RegExp(suffix); //包含 var reg2 = new RegExp("^("+suffix+")"); //前缀 var reg3 = new RegExp("("+suffix+")$"); //后缀 var reg4 = new RegExp("^("+suffix+")$"); //完全 console.log(reg1); // /ykit/ console.log(reg2); // /^(ykit)/ console.log(reg3); // /(ykit)$/ console.log(reg4); // /^(ykit)$/ var result = []; //完全匹配的数组 var pre = []; //前缀数组 var next =[]; //后缀数组 var main = []; //包含数组 for(var j=0;j<n;j++){ if(reg4.test(arr[j])){ result.push(arr[j]); } else if(reg2.test(arr[j])){ pre.push(arr[j]); } else if(reg3.test(arr[j])) { next.push(arr[j]); } else if(reg1.test(arr[j])){ main.push(arr[j]) } } console.log(main); // [ 'mykitcon' ] console.log(pre); // [ 'ykit-config-yo', 'ykit-config-fekit' ] console.log(next); // [ 'mykit' ] console.log(result); // [ 'ykit' ] result = result.concat(pre.concat(next.concat(main))); // 将所有数组拼接到result后输出 if(result.length == 0 ){ console.log("error"); } else{ for(var k=0;k<result.length;k++){ console.log(result[k]); } } // ykit // ykit-config-yo // ykit-config-fekit // mykit // mykitcon