87,903
社区成员
发帖
与我相关
我的任务
分享
function prefix(arr){
var r = arr.join(",").match(/^([^,]+)[^,]*(,\1[^,]*)*$/);
return r ? r[1] : "";
}
alert(prefix(["flower","flow","flight"]))
function getPrefix(arr) {
if (Array.isArray(arr)) {
let newArr = arr.slice(0) //克隆一份
let len = arr.length
if (len > 1) {
newArr.sort((a, b) => a.length > b.length ? 1 : -1) //排序一下
let per = newArr.shift()
let match
while(per && !match){
match = true
newArr.forEach(v=>{
if(!v.startsWith(per)){
match = false
}
})
if(!match){
per = per.slice(0,-1)
}
}
return per
} else {
return arr[0]
}
}
}
console.log(getPrefix(["flower","flow","flight"]))
console.log(getPrefix(["dog","racecar","car"]))
console.log(getPrefix(["我艹cdog","我艹cecar","我艹car"]))
console.log(getPrefix(["racecar"]))
//正则匹配简单但没性能
function getPrefix(arr) {
if (Array.isArray(arr)) {
let len = arr.length
if (len > 1) {
let reg = arr.join(',').match(new RegExp('^(.+).*,' + Array(len - 1).fill('\\1.*').join(',')))
return reg ? reg[1] : ''
} else {
return arr[0]
}
}
}
console.log(getPrefix(["flower","flow","flight"]))
console.log(getPrefix(["dog","racecar","car"]))
console.log(getPrefix(["我艹cdog","我艹cecar","我艹car"]))
console.log(getPrefix(["racecar"]))
function prefix(arr){
var r = ''
if (arr.sort)
{
r = arr[0].toLowerCase()
for(var i=1;i<arr.length;i++){
var x='';
for(var j=0;j<r.length&&j<arr[i].length;j++){
if (r[j]==arr[i].toLowerCase()[j])
{
x+=r[j]
}else{
break
}
}
r=x
if (!x)
{
break;
}
}
}
return r
}
alert(prefix(['xxoo','xxuroo','xxalloo','xxinoo']))