JS 过滤数组中相似是元素 var arr = ["福建", "福建>福州", "浙江>金华", "浙江>金华>义乌", "浙江>金华>永康"];已知数组中所有元素的格式如上,包含完整的路径 ,现在要获取其中范围最大的元素 如:["福建", "浙江>金华"]要怎么写...? 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 var arr = ["福建", "福建>福州", "浙江>金华", "浙江>金华>义乌", "浙江>金华>永康"]; arr.sort(); var newArr=[]; for(var i=0;i<arr.length;i++){ if(arr[i].indexOf(newArr[newArr.length-1])==0) continue; if(arr[i+1].indexOf(arr[i])==0){ newArr.push(arr[i]); } } alert(newArr.join()); 下面是使用本地化排序的方式: var arr = ["福建", "福建>福州", "浙江>金华", "浙江>金华>义乌", "浙江>金华>永康"]; arr.sort(function(a,b){ return a.localeCompare(b);}); var newArr=[]; for(var i=0;i<arr.length;i++){ if(arr[i].indexOf(newArr[newArr.length-1])==0) continue; if(arr[i+1].indexOf(arr[i])==0){ newArr.push(arr[i]); } } alert(newArr.join()); 上面那两个有问题,当只存在一个唯一的名称,比如"上海"时,"上海"却不会被选出来(因为有一处不必要的酝酿痕迹没去掉),因此修正了一下,请使用这个: var arr = ["福建", "上海", "福建>福州", "浙江>金华", "浙江>金华>义乌", "浙江>金华>永康"]; arr.sort(function(a,b){ return a.localeCompare(b);}); var newArr=[]; for(var i=0;i<arr.length;i++){ if(arr[i].indexOf(newArr[newArr.length-1])==0) continue; newArr.push(arr[i]); } alert(newArr.join()); 你好,首先 谢谢的回复...如果数组里面的元素都对象怎么办? var arr = [{ Text: "福建", Value: 1 }, { Text: "福建>福州", Value: 1 > 11 }, { Text: "浙江>金华", Value: 2 > 21 }, { Text: "浙江>金华>义乌", Value: 2 > 21 > 211 }, { Text: "浙江>金华>永康", Value: 2 > 21 > 212}]; 请教如何将DIV悬浮在页面最前端 一个大项目的js的处理方法 有没有文字左右分栏的方法 可以自己写别人网站的搜索框添加到自己网站上吗? 如何用 JS 实现 Picasa Web Albums 中的图片放大效果(内附实例)? window.open的权限问题 请问如何知道用户是按[文件]->[关闭],关闭窗口的? 请问如何限制texterea的最大行数? 怎样调用iframe中的javascript 函数?急 为何100会比2小?请各位帮忙看看,代码见内。 我是一头迷失的羔羊 asp循环调用的问题
arr.sort();
var newArr=[];
for(var i=0;i<arr.length;i++){
if(arr[i].indexOf(newArr[newArr.length-1])==0) continue;
if(arr[i+1].indexOf(arr[i])==0){
newArr.push(arr[i]);
}
}
alert(newArr.join());
var arr = ["福建", "福建>福州", "浙江>金华", "浙江>金华>义乌", "浙江>金华>永康"];
arr.sort(function(a,b){ return a.localeCompare(b);});
var newArr=[];
for(var i=0;i<arr.length;i++){
if(arr[i].indexOf(newArr[newArr.length-1])==0) continue;
if(arr[i+1].indexOf(arr[i])==0){
newArr.push(arr[i]);
}
}
alert(newArr.join());
var arr = ["福建", "上海", "福建>福州", "浙江>金华", "浙江>金华>义乌", "浙江>金华>永康"];
arr.sort(function(a,b){ return a.localeCompare(b);});
var newArr=[];
for(var i=0;i<arr.length;i++){
if(arr[i].indexOf(newArr[newArr.length-1])==0) continue;
newArr.push(arr[i]);
}
alert(newArr.join());
var arr = [{ Text: "福建", Value: 1 }, { Text: "福建>福州", Value: 1 > 11 }, { Text: "浙江>金华", Value: 2 > 21 }, { Text: "浙江>金华>义乌", Value: 2 > 21 > 211 }, { Text: "浙江>金华>永康", Value: 2 > 21 > 212}];