4.29 汉字转英文 遍历数组/对象 冒泡排序 面向对象构建类 遍历对象无序问题

1、通过线上接口获取的数据并不是自己想要的排序状态。
需求分析: 数据LIST按歌手的名字的首字母来排序。
实现思路:js-pinyin 对数据进行聚合,并增加字段Findex,完成所需数组的创建。
先npm i js-pinyin -S
核心操作:jspy.getFullChars(item.singer_name)
在这里插入图片描述
或者:jspy.getFullChars(item.singer_name).toLowerCase()
在这里插入图片描述
2、遍历数组常用forEach,遍历对象的key值用Object.keys(obj)
在这里插入图片描述
3、如果不分对象进行排序,那么也可以直接对数组进行冒泡排序。(以Ascll码进行比较排序)
在这里插入图片描述
4、如果代码的构造具有重复性,我们可以抽出一个构建类
在这里插入图片描述
在这里插入图片描述
5、遍历的对象是无序对象的问题
在这里插入图片描述
可观察到虽然数据显示出来是有序的,但实际遍历是无序的。
对对象的直接遍历情况如下在这里插入图片描述
思路如下:
1、将无序数组 通过设置26字母的key值 进行key值得分类。结果为一个对象

list: {
A: […],
B: […],
C: […],

}
在这里插入图片描述
2、将对象 通过for( key in list)遍历,

将排序过的对象的数组数据push入新数组,再对新数组的关键排序key值为基础进行重新排序。进而获得可以遍历的已排序数组(上图)
在这里插入图片描述
分析:核心思路:
1、数组(无序)变对象(字段无序,字段对应的数组有序)
2、对象(…)变数组(有序)

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值