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}]; 有哪位大神知道www.sina.com.cn的头部效果是怎么实现的? 跪求设为首页 添加收藏 兼容各种浏览器的代码 javascript里一个奇怪问题 如何在下列代码中实现弹窗口能用鼠标移动 在页面中如何实现类似EXCEL的表格选择的功能? JS设置COOKIE问题求助,急,,,,,,, js循环调用事件的问题!! 关于用JS获得返回URL中的参数 正则表达式,验证时间. jquery添加的addClass添加点击事件没有效果 我是一头迷失的羔羊 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}];