javascript 获取汉字笔画拼音,使用笔画排序
今天同学问到要通过汉字笔画来排序,问怎么实现,其实我也不知道,但是我觉得这种东西肯定有解决方案,于是去百度搜了搜果然,大神写的 cnchar 就出现了。地址:https://github.com/theajack/cnchar写的很简单,也很方便,引入一个 js就完事了。 <script src="https://www.theajack.com/cnchar/assets
今天同学问到要通过汉字笔画来排序,问怎么实现,其实我也不知道,但是我觉得这种东西肯定有解决方案,于是去百度搜了搜
果然,大神写的 cnchar 就出现了。地址:https://github.com/theajack/cnchar
写的很简单,也很方便,引入一个 js就完事了。
<script src="https://www.theajack.com/cnchar/assets/js/cnchar.min.js"></script>
1.spell()
获取汉字的全拼。如"汉字".spell()的结果就是HanZi。默认是每个汉字首字母大写,如果希望全部大写可以这样写:"汉字".spell("up") 或 "汉字".spell("upper"),参数大小写不限制。
2.spellFirst()
获取每个汉字的首字母。如 "汉字".spellFirst() 的结果就是 HZ。默认是大写,如果希望全部小写可以这样写:"汉字".spellFirst("low") 或 "汉字".spellFirst("lower"),参数大小写不限制。
3.stroke()
获取汉字的笔画数。如 "汉字".stroke() 的结果就是 11。
此处写一个示例,通过 首字母笔画排序:
数据一般都存在一个数组里面,一串数据,里面有个 name,我们就获取这个额name的首字母的笔画,在外面定义一个 新的数组,遍历原来的数据,在循环里面定义一个 json对象,加一个属性为 笔画,一个 data 属性为该条数据,然后外面定义的数组里面存的就是 有 笔画的数据了,然后再对该数据进行排序就大功告成
看看代码:
<script src="https://www.theajack.com/cnchar/assets/js/cnchar.min.js" ></script>
<script>
// 原始数据
var data = [
{
"name":"唐某人"
},
{
"name":"张子强"
},
{
"name":"李某人"
},
{
"name":"王某人"
},
{
"name":"一某人"
},
];
// 外面定义的数组,存操作后的数据
var result = [];
// 数据处理,绑定笔画
for (var i = data.length - 1; i >= 0; i--) {
// 定义一个对象
var obj = {};
// 存储笔画
obj.stroke = data[i].name.substring(0,1).stroke();
// 存储数据
obj.data = data[i];
// 存入result数组里面去
result.push(obj);
}
// 排序 使用 result.stroke 也就是笔画排序
result.sort(function(a,b){
return a.stroke - b.stroke;
});
console.log( result );
</script>
运行效果:
更多推荐
所有评论(0)