前端面试:项目细节重难点问题分享

面试官提问:我现在给你出一个项目实际遇到的问题:由于后端比较忙,所以我们这边的列表数据排序需要前端最近实现,那你会怎么实现排序呢?

答:我的回答:确实,数据都是由后端实现的,前端只是负责获取后展示数据到页面,但如果前端来实现列表数据排序,我必须了解以下内容:

(1)内容1:数据结构是什么?数据结构是一个数组里的每一个元素都是对象,每个对象里有name、id和age三个属性,根据上面的描述,我给大家mock了5条JSON数据,代码如下:

(2)内容2:排序规则是什么?如果name+id+age都有值,第一展示;如果name+id或name+age有值,第二展示;如果只有name有值最后展示。

(3)内容3:没有值的字段在列表展示什么?如果该字段没有值,则展示--。

(4)问题:前端需要自己写出排序规则再对原生sort方法进行封装即可完成上述需求:

(5)解决(代码实现):

(6)效果展示:

(7)知识点:sort()方法

- 作用:对数组的元素进行排序

- 参数:两个参数 a 和 b,表示要比较的两个元素,并返回一个数值:如果 a < b,则返回值 < 0;如果 a > b,则返回值 > 0;如果 a === b,则返回值 === 0

- 返回值:返回排序后的数组

- 注意:会直接修改原数组,而不是创建一个新的数组

相关推荐
0和1的舞者38 分钟前
Spring AOP详解(一)
java·开发语言·前端·spring·aop·面向切面
web小白成长日记42 分钟前
在Vue样式中使用JavaScript 变量(CSS 变量注入)
前端·javascript·css·vue.js
QT 小鲜肉1 小时前
【Linux命令大全】001.文件管理之which命令(实操篇)
linux·运维·服务器·前端·chrome·笔记
C_心欲无痕1 小时前
react - useImperativeHandle让子组件“暴露方法”给父组件调用
前端·javascript·react.js
智者知已应修善业2 小时前
【求等差数列个数/无序获取最大最小次大次小】2024-3-8
c语言·c++·经验分享·笔记·算法
LYFlied2 小时前
【每日算法】LeetCode 416. 分割等和子集(动态规划)
数据结构·算法·leetcode·职场和发展·动态规划
坚持学习前端日记3 小时前
软件开发完整流程详解
学习·程序人生·职场和发展·创业创新
BullSmall3 小时前
支持离线配置修改及删除操作的实现方案
前端
全栈前端老曹3 小时前
【前端路由】Vue Router 嵌套路由 - 配置父子级路由、命名视图、动态路径匹配
前端·javascript·vue.js·node.js·ecmascript·vue-router·前端路由
EndingCoder3 小时前
安装和设置 TypeScript 开发环境
前端·javascript·typescript