js数组的多条件排序

问题遇到的现象和发生背景

js的题目,把数组重新排序,先按surname排,如果surname相同的按name排,如果name相同的按address排

问题相关代码,请勿粘贴截图
 arr: [
        { name: '一山', surname: '张', address: '西藏', area: '北京' },
        { name: '一山', surname: '李', address: '厦门', area: '上海' },
        { name: '上山', surname: '王', address: '宁夏', area: '福州' },
        { name: '一山', surname: '张', address: '福建', area: '厦门' },
        { name: '五山', surname: '张', address: '北京', area: '北京' },
      ],

运行结果及报错内容

。。

我的解答思路和尝试过的方法

尝试过sort,但是只按照surname排序

我想要达到的结果

多重排序也可以用sort的
排序规则是我自己写的 你也可以按你自己的来

img