• js小技巧(数组处理)


    1、你需要过滤掉错误值吗?

    这个技巧肯定会帮助你摆脱错误值,例如 False、“ ”、0、undefined null。查看下面的示例代码以更好地理解。

    //example codeconst array = [1, 0, false, "", 2, null, 3]const farray = array.filter(Boolean)console.log(farray) // [1, 2, 3]

    2、去除重复

    我们都在 JavaScript 编程中遇到过重复值,最常用的摆脱它们的方法是将 indexOf() 方法与循环结合使用。今天这个技巧将向你展示两种快速去除重复的方法。

    //example code//method 1const array = [1, 2, 1, 3, 3, 2, 4, 5, 5, 6, 1]const farray=array.filter((item,idx,arr)=>arr.indexOf(item)===idx)console.log(farray) // [1, 2, 3, 4, 5, 6]//method 2const farray2 =[...new Set(array)];console.log(farray2) // [1, 2, 3, 4, 5, 6]

    3、在 JavaScript 中截断数组

    我主要使用这个技巧来缩短我的大数组或使其全空。我们将使用 Array 的长度参数并用一个值初始化它。该值可以是任何正数。

    此值将根据你传递的大小截断你的数组。为了更好地理解,请看下面的示例代码。

    // example codeconst arr1 = [1, 2, 3, 4, 6]arr1.length=2console.log(arr1) // [1, 2]const arr2 = [5, 4, 3, 9, 100, 101]arr2.length=0console.log(arr2) //[]const arr3 = [5, 4, 3, 9, 100, 101]arr3.length=7console.log(arr3) //[5, 4, 3, 9, 100, 101, undefined]

    4、合并多个对象

    假设你需要在 JavaScript 中将两个对象合并为一个,以使其获得更好的信息。对于此任务,你可以使用扩展运算符 (...)。此运算符由三个点 (...) 表示。

    它在许多情况下非常有用,我们将通过将两个数组合并为一个来尝试其中之一。查看下面的示例代码。​​​​​​​

    // example codelet employee = { 'id': 'S129', 'name': 'Haider', 'age': 22, 'addr': 'USA'}let job = {  'title': 'Software Engineer',  'location': 'Canada'}// merging them into one object// using spread operator let merge = {...employee, ...job}; console.log('Final Merged', merge);//output:// {//    'id': 'S129',//    'name': 'Haider',//    'age': 22,//    'addr': 'USA'//    'title': 'Software Engineer',//   'location': 'Canada'// }

    5、使用析构的简单交换

    在其他编程语言中,交换是在第三个变量(通常名为 temp)的帮助下完成的。但是在 JavaScript 中,你可以使用析构方法在两个对象之间进行交换。查看下面的代码示例以更好地理解。

    // example codelet x = 5;let y = 9;console.log(x, y); // 5 9[x, y] = [y, x]; //swapingconsole.log(x, y); // 9 5

    6、将十进制转换为十六进制和二进制

    这个很棒的技巧将帮助你使用内置方法 toString() 将十进制转换为十六进制和二进制值。​​​​​​​

    //example codeconst deci = 500console.log(deci.toString(2)) // 111110100console.log(deci.toString(16)) // 1f4console.log(deci.toString(8)) // 764

    7、单行回文检查

    这个短行代码技巧将教你如何检查一个字符串是不是回文。​​​​​​​

    // example codefunction isPalindrome(str){  return str === str.split('').reverse().join('')
    }console.log(isPalindrome("mom")) // trueconsole.log(isPalindrome("ball")) // falseconsole.log(isPalindrome("maham")) // true

    8、带空格的 JSON 输出

    使 JSON 更清晰的一种简单方法是以其格式提供空格和缩进。这个技巧将帮助你使JSON 代码看起来更清晰和可读。查看下面的代码示例。​​​​​​​

    //example codeconst employee = {  name : "Haider",  age : 22,  salary : 500000}const jemployee = JSON.stringify(employee, null, 2)console.log(jemployee)//output:// {//  "name": "Haider",//  "age": 22,//  "salary": 500000// }

    9、代码的执行时间

    为了计算你的代码执行时间,这个技巧将向你介绍控制台的 time 和 timeEnd 方法。​​​​​​​

    //example codeconsole.time("timer-1")var a = 20var b = 3for(let i = b; i < a; i++){  // do something}console.timeEnd("timer-1") // timer-1: 1ms

    10、检查 isArray

    如果你想检查你的对象是不是一个数组,那么,这个技巧会派上用场。我们将使用一个简单的 JavaScript 内置方法,它接受一个参数对象。​​​​​​​

    //example codeconst array1 = [1, 3, 4, 5]console.log(Array.isArray(array1)) // trueconst array2 = {}console.log(Array.isArray(array2)) // false

    11、JavaScript 中的快速 Power 方法

    计算功率的一种方法是调用 Math.pow() 方法并传递值,但你也可以使用 **。​​​​​​​

    //example codeconsole.log("New Method Power of 2 ^ 3 ", 2**3);   // 8 console.log("Old Method Power of 2 ^ 3 ", Math.pow(2,3));  //8

  • 相关阅读:
    29.4K star! 仅需几行代码快速构建机器学习 Web 应用项目,无需前端技能!
    Linux进程控制(一)
    GIS实战应用案例100篇(七十九)-多规整合底图的制作要点
    文件共享服务器(cifs协议 -- 微软开发)
    CentOS Docker 安装 & 常用命令
    大数据分析案例-基于随机森林算法构建二手房价格预测模型
    解决request.patch参数data传参问题
    Ruby 之 csv 文件读写
    MathType2024最新word公式编辑器
    leetcode891:子序列宽度之和
  • 原文地址:https://blog.csdn.net/ANNENBERG/article/details/119923809