题目:使用js实现一个方法,传入obj,返回b,c,a(按照age从小到大排序,输出每一项name值得字符串拼接)
const obj=[
{name:'a',age:30},
{name:'b',age:21},
{name:'a',age:23}
]
1.首先实现排序
解析:从结构来看,obj数组中有三个对象,按照对象的age升序排序,拿两条数据的age进行比对 ,这是属于根据参数的某种特定属性进行排序。
1.1写比对的函数
function compare(age){
var value1=a.age
var value2=b.age
return value1-value2
}
1.2使用sort方法和比对函数实现排序
console.log(obj.sort(compare('age')))
2.比较简单的写法
直接输出排序结果
console.log(obj.sort(function (a, b) { return a.age - b.age }))
结果实现:
image.png
3.实现每一项name拼接
let newObj=obj.sort(function (a, b) { return a.age - b.age })
//取到name值再进行拼接
let newName=newObj.map(item=>{
return item.name
})
console.log(newName.join())
结果实现:
image.png