收藏
回答

ios 与Android 使用 localeCompare表现形式不同

框架类型 问题类型 操作系统版本 手机型号 微信版本
小程序 Bug ios 12 ios android 6.7.2

ios版本与安卓版本使用以下代码出现两种不同的表现形式:

if((!zh[i-1] || zh[i-1].localeCompare(item2.name,'zh') <= 0) && item2.name.localeCompare(zh[i],'zh') == -1) {

curr.names.push(item2);

}




源码 :


function pySegSort(arr) {   //通讯录数据分组排列

if(!String.prototype.localeCompare)

return null;

var letters = "#ABCDEFGHJKLMNOPQRSTWXYZ".split('');

var zh = "阿八嚓哒妸发旮哈讥咔垃痳拏噢妑七呥扨它穵夕丫帀".split('');

var segs = [];

var curr;

letters.forEach(function(item,i){

curr = {letter: item, names:[]};

arr.forEach(function(item2,j){

if(item2.name.substring(1,0) == letters[i-1]){

curr.names.push(item2);

curr.letter=letters[i-1]

}

if((!zh[i-1] || zh[i-1].localeCompare(item2.name,'zh') <= 0) && item2.name.localeCompare(zh[i],'zh') == -1) {

curr.names.push(item2);

console.log(item2,'item2')


}

});

if(curr.names.length) {

segs.push(curr);

curr.names.sort(function(a,b){

return a.name.localeCompare(b.name);

});

}

});

return segs;

}


最后一次编辑于  2018-09-25
回答关注问题邀请回答
收藏

4 个回答

登录 后发表内容