深圳某小厂笔试题

45 阅读1分钟
  1. 192.168.1.1 转换为整数形式 ,leetcode原题 没写完全 位运算搞不明白 参考这位大佬的写法
// 先把点分十进制IP转化为32位二进制, 之后转化为十进制
  function ipToInt(ip) {
      // 将IP地址拆分为四个整数
      const ipArray = ip.split(".").map(Number);
      // 确保IP地址的有效性
      if(ipArray.length !== 4 || ipArray.some(num=>isNaN(num) || num < 0 || num > 255)){
          throw new Error('Invalid IP address format');
      }
      // 计算整数表示
      const intRepresentation = (ipArray[0] << 24) | (ipArray[0] << 16) | (ipArray[0] << 8) | ipArray[3];
      return intRepresentation >>> 0; // 确保结果为无符号整数
  }

  // 示例
  const ipAddress = '192.168.1.1';
  const result = ipToInt(ipAddress);
  console.log(result);

作者:游侠瑞 链接:juejin.cn/post/734644… 来源:稀土掘金 著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。


  1. 将 num= 300 转为八进制
let num =300 
num=num.toString(8)*1
  1. 不使用第三个变量进行变量交换
//  es6新特性
let a=10 b=20
[a,b]=[b,a]

// 或者
a = [b,b=a][0]

每到题应该都有2种以上的方法,欢迎大佬们分享解题思路~~~