sort ( ) 排序
需要实现两个排序功能,价格排序和好评排序,且都可以正反切换

数字比较
价格排序中,价格为数字类型,属于数字的比较,无需转换类型
// 点击价格排序的图标handlePrice(){this.setData({priceOrder:!this.data.priceOrder})this.setData({goodsList:this.data.priceOrder?this.data.goodsList.sort((a,b)=>b.price-a.price):this.data.goodsList.sort((a,b)=>a.price-b.price)})},
点击价格排序的图标后,切换阀门值
sort((a,b)=>b.price-a.price) 或 sort((a,b)=>a.price-b.price) 正反排序的切换
非数字比较
好评排序中,好评为字符串类型,需要进行类型的转换
// 点击好评排序的图标handleComment(){this.setData({commentOrder:!this.data.commentOrder})this.setData({goodsList:this.data.commentOrder?this.data.goodsList.sort((a,b)=>parseInt(b.goodcomment)-parseInt(a.goodcomment)):this.data.goodsList.sort((a,b)=>parseInt(a.goodcomment)-parseInt(b.goodcomment))})},
parseInt ( ) 的使用
这里使用 parseInt ( ) 进行字符串的类型转换
parseInt(string, radix) 解析一个字符串并返回指定基数的十进制整数,radix 是 2-36 之间的整数,表示被解析字符串的基数。
console.log(parseInt('10')) // 10
console.log(parseInt('10a')) // 10console.log(parseInt('111', 2)) // 7
console.log(parseInt('A12', 16)) // 2578
注意事项:
parseInt 第一个参数。如果不是一个字符串,则将其转换为字符串
parseInt 第二个参数。从 2 到 36 的整数,表示进制的基数。例如指定 16 表示被解析值是十六进制数。如果超出这个范围,将返回 NaN。假如指定 0 或未指定,基数将会根据字符串的值进行推算。














