js小技巧(数组处理)

9 篇文章 0 订阅

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

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值