长沙某大厂前端面试题算法题

115 阅读1分钟

前端面试总结

最近在长沙某大厂面试高级前端岗位,目前遇到一个算法题,给的时间还是比较足够的。题目不会很难,不过心态要好,如果紧张可能会做不好题目;

算法题

版本号对比,给定两个版本,封装一个函数判断,如果高版本返回1,低版本返回 -1,相同版本返回0,其实很简单,不过你紧张了,可能不知道怎么解决,不过我写了一个简单答案,并且是很完美的答案。

答案详解

// 实现对比版本号,
function fn(s1, s2) { 
  const arr1 = s1.split('-');
  const arr2 = s2.split('-');
  const maxLength = Math.max(arr1.length, arr2.length);

  for (let i = 0; i < maxLength; i++){
    const item1 = Number(arr1[i] || 0);
    const item2 = Number(arr2[i] || 0);

    if (item1 > item2) return 1;
    if (item1 < item2) return -1;
  }

  return 0
}