给定一个以数字组成的数组,实现输出id为数字,并且从小到大排序的name(请使用es6语法)
时间: 2023-05-31 15:19:43 浏览: 90
### 回答1:
可以使用ES6的Map数据结构来实现,将数字作为键,将对应的name作为值,然后使用Array.from方法将Map转换为数组,并使用sort方法按照键值从小到大排序,最后使用map方法将数组中的每个元素转换为{name: xxx, id: xxx}的格式输出。
代码示例:
const arr = [3, 1, 4, 2];
const map = new Map([
[1, 'Tom'],
[2, 'Jerry'],
[3, 'Alice'],
[4, 'Bob']
]);
const result = Array.from(map)
.sort((a, b) => a[] - b[])
.map(([id, name]) => ({id, name}));
console.log(result); // [{id: 1, name: 'Tom'}, {id: 2, name: 'Jerry'}, {id: 3, name: 'Alice'}, {id: 4, name: 'Bob'}]
### 回答2:
题目要求我们对一个以数字组成的数组按照数字从小到大的顺序排序,并输出对应的名字。考虑到题目中要求使用 es6 语法,我们可以使用 map 和 sort 方法来解决问题。
首先,我们需要将数字与名字对应起来。可以使用对象字面量来进行映射,例如:
const nameMap = {
1: 'Tom',
2: 'Mary',
3: 'John',
// ...
};
接下来,我们可以使用 map 方法对数字数组进行遍历,并使用箭头函数输出对应的名字。最后,使用 sort 方法对输出结果进行排序。完整代码如下:
const nums = [3, 1, 5, 2, 4];
const nameMap = {
1: 'Tom',
2: 'Mary',
3: 'John',
4: 'Peter',
5: 'Lucy',
};
const sortedNames = nums.map(num => nameMap[num]).sort();
console.log(sortedNames);
输出结果为:
["John", "Lucy", "Mary", "Peter", "Tom"]
以上就是使用 es6 语法对数字数组进行排序并输出对应名字的方法。需要注意的是,在实际开发中,如果数据量较大,使用 sort 方法可能会造成性能问题,可以考虑使用其他排序算法来进行优化。
### 回答3:
首先,我们可以定义一个对象数组,每个对象包含id和name两个属性。然后,我们可以使用es6中Array.prototype.sort()方法来实现从小到大排序,将排序后的name输出即可。
代码如下:
```javascript
const arr = [
{id: 3, name: '张三'},
{id: 1, name: '李四'},
{id: 2, name: '王五'}
];
const sortedArr = arr.sort((a, b) => a.id - b.id);
const names = sortedArr.map(obj => obj.name);
console.log(names); // ["李四", "王五", "张三"]
```
这里,我们先定义了一个对象数组arr,包含了每个对象的id和name属性。然后,我们使用sort()方法将数组按照id从小到大排序,返回一个新数组sortedArr。最后,我们使用map()方法将sortedArr中的每个对象的name属性取出来,返回一个新数组names,并将其打印出来。
相关推荐
![pdf](https://img-home.csdnimg.cn/images/20210720083512.png)
![pdf](https://img-home.csdnimg.cn/images/20210720083512.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)