js写一个方法让数组重新根据一个字段的大小来排序生成新的数组
时间: 2024-05-06 20:20:21 浏览: 141
以下是一个示例代码:
```javascript
function sortByField(arr, field) {
// 使用 Array.slice() 创建一个新数组,以避免修改原始数组
const newArr = arr.slice();
// 使用 Array.sort() 方法进行排序
newArr.sort(function(a, b) {
// 根据指定字段的值进行比较
return a[field] - b[field];
});
return newArr;
}
// 示例用法
const originalArray = [
{ name: 'Alice', age: 25 },
{ name: 'Bob', age: 30 },
{ name: 'Charlie', age: 20 }
];
const sortedArray = sortByField(originalArray, 'age');
console.log(sortedArray);
// 输出:[
// { name: 'Charlie', age: 20 },
// { name: 'Alice', age: 25 },
// { name: 'Bob', age: 30 }
// ]
```
该方法接受两个参数:原始数组和要排序的字段名。它使用 `Array.slice()` 方法创建一个新数组,并使用 `Array.sort()` 方法对其进行排序。在排序函数中,我们使用比较函数来比较数组元素的指定字段的值。最后,该方法返回排序后的新数组。
阅读全文