javascript - 根据属性是否存在对对象数组进行排序

标签 javascript arrays algorithm sorting

我有很多老师,每个老师都有一个属性 userimage属性,可以包含 stringnull值(value)。 考虑到user.image,我如何订购数组属性(property)?

这是一个结构示例。

const teachers = [
    {
        id: 1,
        user: {
            id: 10,
            image: "image.jgp"
        }
    },
    {
        id: 3,
        user: {
            id: 30,
            image: null
        }
    },
    {
        id: 2,
        user: {
            id: 20,
            image: "image.jgp"
        }
    },
    {
        id: 4,
        user: {
            id: 40,
            image: null
        }
    },
]

最佳答案

您可以使用Array.sort并检查 image 属性是否为 null:

const teachers=[{id:1,user:{id:10,image:"image.jgp"}},{id:3,user:{id:30,image:null}},{id:2,user:{id:20,image:"image.jgp"}},{id:4,user:{id:40,image:null}}];

const sorted = teachers.sort((a, b) => b.user.image === null ? -1 : 1)

console.log(sorted)

关于javascript - 根据属性是否存在对对象数组进行排序,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/69047193/

相关文章:

javascript - 与 Sequelize 的关联

c# - 如何为自定义向量类使用数组初始化器语法?

ruby - 递归解决方案没有正确迭代

javascript - backbone 获取 url 数据格式错误

javascript - 将步骤数组减少为更小的数组

javascript - modalService 无法与 Controller 和 View 对话

javascript过滤器缺少数组

java - 获取集合的所有子集

algorithm - 我可以将红黑树表示为二叉叶树吗?

r - 置换数据框,但必须有唯一的行