.slice(0)
1.对原数组进行深拷贝,这样进行一系列操作的时候就不影响原数组了;
2.将类数组对象转化为真正的数组对象:var anchorArray = [].slice.call(document.getElementsByTagName(‘a’), 0);
实现二维数组行转列
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 },
];
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)