let newArr = [ { name: 'iphone15', price: 8888, date: '2023-07-15', juli: '15.8km' }, { name: '小米9', price: 2888, date: '2022-03-20', juli: '680m' }, { name: '华为', price: 4888, date: '2023-03-20', juli: '20.2km' }, { name: 'ikun', price: 23988, date: '2023-05-25', juli: '20km' }, ] - 1.根据价格排序 - 2.根据距离排序 - 3.根据日期排序 arr.sort((a,b)=>{ // a b 是数组相邻的元素 // return true 从大到小排序 // return false 从小到大排序 return a.price - b.price // 就是根据价格从小到大排序。 日期需要转时间戳来比较大小。 距离的话字符串转数字,遇到 km需要乘以1000 }) js代码实现
时间: 2024-04-22 08:24:18 浏览: 88
arr-iterator:数组迭代器
你可以使用以下代码来实现对数组进行排序:
1. 根据价格排序:
```javascript
newArr.sort((a, b) => {
return a.price - b.price;
});
```
2. 根据距离排序:
```javascript
newArr.sort((a, b) => {
const aDistance = parseFloat(a.juli);
const bDistance = parseFloat(b.juli);
if (a.juli.includes('km')) {
aDistance *= 1000;
}
if (b.juli.includes('km')) {
bDistance *= 1000;
}
return aDistance - bDistance;
});
```
3. 根据日期排序:
```javascript
newArr.sort((a, b) => {
const aDate = new Date(a.date).getTime();
const bDate = new Date(b.date).getTime();
return aDate - bDate;
});
```
这样,你可以根据不同的需求使用不同的排序方法来对 `newArr` 进行排序。
阅读全文