当前位置: 面试刷题>> 玩具工厂 (经典算法题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对玩具进行排序的功能。
推荐面试题