当前位置: 面试刷题>> 玩具工厂 (经典算法题500道)
**题目描述补充**:
在玩具工厂中,工人们需要按照特定的规则对一系列玩具进行排序。每个玩具都有一个唯一的标识符(ID)和一个优先级值(priority)。工厂要求工人们根据玩具的优先级值对它们进行升序排序,如果优先级相同,则按照ID的升序排序。
你需要编写一个函数,该函数接收一个包含玩具信息的数组作为输入,每个玩具信息是一个包含ID和优先级的对象。函数应返回排序后的玩具信息数组。
**示例输入**:
```json
[
{"id": 3, "priority": 2},
{"id": 1, "priority": 1},
{"id": 2, "priority": 2},
{"id": 4, "priority": 3}
]
```
**期望输出**:
```json
[
{"id": 1, "priority": 1},
{"id": 3, "priority": 2},
{"id": 2, "priority": 2},
{"id": 4, "priority": 3}
]
```
**PHP代码示例**:
```php
3, "priority" => 2],
["id" => 1, "priority" => 1],
["id" => 2, "priority" => 2],
["id" => 4, "priority" => 3]
];
$sortedToys = sortToys($toys);
print_r($sortedToys);
?>
```
**Python代码示例**:
```python
def sort_toys(toys):
toys.sort(key=lambda x: (x['priority'], x['id']))
return toys
# 示例使用
toys = [
{"id": 3, "priority": 2},
{"id": 1, "priority": 1},
{"id": 2, "priority": 2},
{"id": 4, "priority": 3}
]
sorted_toys = sort_toys(toys)
print(sorted_toys)
```
**JavaScript代码示例**:
```javascript
function sortToys(toys) {
return toys.sort((a, b) => {
if (a.priority === b.priority) {
return a.id - b.id;
}
return a.priority - b.priority;
});
}
// 示例使用
const toys = [
{id: 3, priority: 2},
{id: 1, priority: 1},
{id: 2, priority: 2},
{id: 4, priority: 3}
];
const sortedToys = sortToys(toys);
console.log(sortedToys);
// 码小课网站中有更多相关内容分享给大家学习
```
这些代码示例展示了如何在不同编程语言中实现根据优先级和ID对玩具进行排序的功能。