let peopleList = [
{
name: '小明',
age: 18,
score: 98,
id: 1,
subjects: '语文'
},
{
name: '小红',
age: 17,
id: 2,
score: 92,
subjects: '语文'
},
{
name: '小明',
age: 18,
score: 91,
id: 1,
subjects: '数学'
},
{
name: '小红',
age: 18,
id: 2,
score: 89,
subjects: '数学'
},
{
name: '小刚',
age: 19,
score: 90,
id: 3,
subjects: '化学'
},
{
name: '小蓝',
age: 18,
score: 68,
id: 4,
subjects: '语文'
},
{
name: '小蓝',
age: 18,
score: 75,
id: 4,
subjects: '数学'
},
]
// 1. 根据年龄进行排序
//答:
// function compare(property) {
// return function (a, b) {
// var value1 = a[property];
// var value2 = b[property];
// return value1 - value2;
// }
// }
// console.log(peopleList.sort(compare("age")))
// 2. 根据科目进行分类,结构为 { 语文:[{},{}],数学:[{},{}]}
//答:
//方法1
// let param={}
// peopleList.map(ele=>{
// if(!param[ele.subjects]){
// param[ele.subjects]=[]
// }
// param[ele.subjects].push(ele)
// })
//方法2
// let param={}
// peopleList.map(ele=>{
// if(!param.hasOwnProperty(ele.subjects)){
// param[ele.subjects]=[]
// }
// param[ele.subjects].push(ele)
// })
// console.log(param)
// 3. 根据名字进行分组,结构为
//[ [{name:'小明'},{name:'小明‘}], [ {name:'小红'}, {name:'小红'}] ]
//答:
let arrays = []
peopleList.map(item => {
if (!arrays.length) {
let arr = [item]
arrays.push(arr) // [ [{name:'小明'}],[ {name:'小红‘} ] ]
} else {
let flag = arrays.findIndex(i => i[0].name == item.name)
if (flag != -1) {
arrays[flag].push(item)
} else {
arrays.push([item])
}
}
})
console.log(arrays, 'arrays')
// 4. 将数据格式转换成下面的形式 根据id构造学生的科目明细表
// const aa = [
// {
// name:'小明',
// age:18,
// id:1,
// list:[
// {
// score:98,
// subjects:'语文'
// },
// {
// score:91,
// subjects:'数学'
// }
// ]
// }
// ]
//答:
// const arr = []
// peopleList.map(ele => {
// const arrLine = {
// name: ele.name,
// age: ele.age,
// id: ele.id,
// list: [{
// score: ele.score,
// subjects: ele.subjects
// }]
// }
// if (arr.length) {
// const find = arr.find(e => {
// return ele.id === e.id
// })
// if (find) {
// find.list.push({
// score: ele.score,
// subjects: ele.subjects
// })
// } else {
// arr.push(arrLine)
// }
// } else {
// arr.push(arrLine)
// }
// })
// console.log(arr)
网友评论