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)
js数组-组建新的数据结构
最后编辑于 :
©著作权归作者所有,转载或内容合作请联系作者
- 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
- 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
- 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...