1.实现二维数组行转列
let arr = [
['前端','3人','8-15k','本科'],
['后端','5人','10-25k','研究生'],
['UI','2人','9-11k','大专'],
['ETL工程师','10人','6-12k','大专'],
];
//Transform =>
let newArr = [
['前端','后端','UI','ETL工程师'],
['3人','5人','2人','10人'],
['8-15k','10-25k','9-11k','6-12k'],
['本科','研究生','大专','大专'],
];
答案
let arr = [
['前端', '3人', '8-15k', '本科'],
['后端', '5人', '10-25k', '研究生'],
['UI', '2人', '9-11k', '大专'],
['ETL工程师', '10人', '6-12k', '大专'],
];
let arrs = arr1[0].map((a, i) => {
return arr.map(e => { return e[i] })
});
console.log(arrs, '实现二维数组行转列')
2.对以下数据 取出每人(name)最大的销售量(sales) ( 对sales排序对name去重,加分项:不使用sort函数)
let arr = [
{ name:'小明', year: 2019 , sales: 53 }, { name:'小明', year: 2020 , sales: 234 }, { name:'小明', year: 2018 , sales: 24 },
{ name:'小强', year: 2019 , sales: 31 }, { name:'小强', year: 2020 , sales: 567 }, { name:'小强', year: 2018 , sales: 678 },
{ name:'小红', year: 2019 , sales: 465 }, { name:'小红', year: 2020 , sales: 82 }, { name:'小红', year: 2018 , sales: 576 },
{ name:'小马', year: 2019 , sales: 4567 }, { name:'小马', year: 2020 , sales: 832 }, { name:'小马', year: 2018 , sales: 674 },
];
//Transform =>
let newList = [
{ name:'小明', year: 2020 , sales: 234 },
{ name:'小强', year: 2018 , sales: 678 },
{ name:'小红', year: 2018 , sales: 576 },
{ name:'小马', year: 2019 , sales: 4567 }
]
答案
let arr = [
{ name: '小明', year: 2019, sales: 53 }, { name: '小明', year: 2020, sales: 234 }, { name: '小明', year: 2018, sales: 24 },
{ name: '小强', year: 2019, sales: 31 }, { name: '小强', year: 2020, sales: 567 }, { name: '小强', year: 2018, sales: 678 },
{ name: '小红', year: 2019, sales: 465 }, { name: '小红', year: 2020, sales: 82 }, { name: '小红', year: 2018, sales: 576 },
{ name: '小马', year: 2019, sales: 4567 }, { name: '小马', year: 2020, sales: 832 }, { name: '小马', year: 2018, sales: 674 },
];
let nameList = Array.from(new Set(arr.map(e => { return e.name }))).reduce((previous, current) => {
previous.push(
arr.filter((item) => {
return item.name == current
}).reduce((previous, current) => {
return previous.sales > current.sales ? previous : current
}, [])
)
return previous
}, []);
console.log(nameList)
网友评论