数组排序 num ranking 按升序 合并

本文介绍如何使用JavaScript对两个数组进行排序,并实现通过排名获取对应姓名的功能。通过`arr1Sort`和`arr2Sort`对数值和排名进行升序排列,然后利用`forEach`遍历,结合对象合并技巧将姓名加入新的数组`crr`。最后,定位并移动特定元素小c到数组末尾。
摘要由CSDN通过智能技术生成
let arr1 = [
    {num:'7',name:'小红7'},
    {num:'6',name:'小m'},
    {num:'5',name:'小d'},
    {num:'4',name:'小c'},
    {num:'3',name:'小f'},
    {num:'2',name:'小s'},
    {num:'1',name:'小e'},

]

let arr2 = [
    {ranking:'1',grade:'10'},
    {ranking:'2',grade:'9'},
    {ranking:'3',grade:'8'},
    {ranking:'7',grade:'4'},
    {ranking:'4',grade:'7'},
    {ranking:'5',grade:'6'},
    {ranking:'6',grade:'5'},


]
// num ranking 按升序
let arr1Sort = arr1.sort((a,b)=>{
    return a.num -b.num
})
let arr2Sort = arr2.sort((a,b)=>{
    return a.ranking -b.ranking
})
console.log("arr1Sort ",arr1Sort ,arr2Sort )

let crr = []
arr2Sort.forEach((item, i) => {
    console.log(item)
    let obj = {
        ...item,
       name: arr1Sort[i].name
    }
    crr.push(obj)
})
// 将小c 提出来放在数组的末尾
let cIndex = crr.findIndex(value => value.name.includes("小c"))
let c = crr[cIndex]
crr.splice(cIndex, 1)
let name = []
let val = []
crr.forEach((item)=>{
    name.push(item.name)
    val.push(item.grade)
})
crr.push(c)
console.log(crr)
console.log(c)

 


 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值