分享 10 个超实用的 JavaScript 技巧

40db8dfd235d227e897082607ab8a11b.jpeg

英文 | https://javascript.plainenglish.io/10-super-practical-javascript-tips-to-make-your-daily-work-easier-a37c3736fd34

在前面,我们也分享了很多关于JavaScript的技巧,今天我们再来看看这10个超级实用的技巧,希望能够对你有所帮助。

1.过滤错误值

如果要过滤数组中的false、0、null、undefined等值,可以这样做:

const array = [1, 0, undefined, 6, 7, ‘’, false]; array.filter(Boolean);

2.判断简化

如果有这样的判断:

if(a === undefined || a === 10 || a=== 15 || a === null) { //… }

可以使用数组来简化这个判断逻辑:

if([undefined, 10, 15, null].includes(a)) { //… }

这样,代码会更简单,更容易扩展。如果还有判断需要等于a,可以直接加到数组中。

3.初始化数组

如果需要初始化一个指定长度的一维数组并指定一个默认值,可以这样完成:

const array = Array(6).fill(‘’); // [‘’, ‘’, ‘’, ‘’, ‘’, ‘’]

如果需要初始化一个指定长度的二维数组并指定一个默认值,可以这样做:

const matrix = Array(6).fill(0).map(() => Array(5).fill(0));

4.清空数组

要清除数组,请将数组的长度设置为 0:

let array = [“A”, “B”, “C”, “D”, “E”, “F”] 
array.length = 0 
console.log(array) // []

5. 连接数组

我们需要连接几个数组,我们可以使用扩展运算符:

const start = [1, 2] 
const end = [5, 6, 7] 
const numbers = [9, …start, …end, 8] // [9, 1, 2, 5, 6, 7 , 8]

或者使用数组的 concat() 方法:

const start = [1, 2, 3, 4] 
const end = [5, 6, 7] 
start. concat(end); // [1, 2, 3, 4, 5, 6, 7]

但是在使用 concat() 方法时,如果要合并的数组很大,concat() 函数在创建单独的新数组时会消耗大量内存。这时候可以使用以下方法合并数组:

Array.prototype.push.apply(start, end)

这样,显着减少了内存使用量。

6.将数组元素转换为数字

如果你有一个数组,并且需要将数组中的元素转换为数字,可以使用 map 方法来实现:

const array = [‘12’, ‘1’, ‘3.1415’, ‘-10.01’]; 
array.map(Number); // [12, 1, 3.1415, -10.01]

这样,map 将在遍历数组时对数组的每个元素执行 Number 构造函数并返回结果。

7.将类数组转换为数组

可以使用以下方法将类似数组的参数转换为数组:

Array.prototype.slice.call(arguments);

除此之外,还可以使用展开运算符来实现:[…arguments]

8.缩短console.log()

每次调试都要写很多console.log()会比较麻烦,可以用下面的形式来简化这段代码:

const c = console.log.bind(document)
 c(321) 
 c(“hello mygod”)

每次执行 c 方法时都会这样做。

9.删除一个数组元素

如果我们想删除数组中的一个元素,可以使用delete来实现,但是删除后的元素会变成undefined,不会消失,执行的时候会消耗很多时间,大部分情况下不能满足我们要求。所以,你可以使用数组的 splice() 方法来移除数组元素:

const array = [“a”, “b”, “c”, “d”] 
array.splice(0, 2) // [“a”, “b”]

10.检查对象是否为空

我们需要检查对象是否为空,我们可以使用如下:

Object.keys({}).length // 0
Object.keys({key: 1}).length // 1

Object.keys() 方法用于获取对象的键并返回包含这些键值的数组。如果返回的数组长度为 0,则对象必须为空。

总结

以上就是我今天跟你分享的10个JavaScript技巧,希望对你有所帮助,如果你觉得有用的话,请记得点赞我,关注我,并将它分享给你身边的朋友,也许能够帮助到他。

最后,感谢你的阅读,期待你的关注。

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
Vue页面设计开发中,有几个技巧是可以提高效率和代码质量的。首先,在样式中使用scoped属性可以确保样式只作用于当前组件,不会影响其他组件的样式。这可以通过使用deep选择器实现,例如在<style scoped>标签中使用 .my-content >>> .child-component { font-size: 16px; } 的方式。 其次,Vue提供了模板语法来搭建HTML,这在大多数情况下是推荐的做法。然而,在某些特定场景下,我们可能需要使用JavaScript的完全编程能力,这时候可以使用渲染函数来实现。渲染函数可以帮助我们更灵活地构建组件,同时也提供了与JSX相似的语法。可以根据具体需求来选择使用模板语法或渲染函数,以获得更好的开发体验。 对于Vue项目的报表设计器和积木报表模块,可以参考ruoyi-vue-pro yudao项目中的相关SQL脚本和启用方式。这个项目可能提供了一些关于报表设计和模块开启的经验和教程,可以作为参考资料。<span class="em">1</span><span class="em">2</span><span class="em">3</span> #### 引用[.reference_title] - *1* [实用Vue技巧(开发常用整理)](https://blog.csdn.net/weixin_55953988/article/details/122621453)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_2"}}] [.reference_item style="max-width: 33.333333333333336%"] - *2* [分享 9个 关于 vue3 相关的开发技巧](https://blog.csdn.net/Ed7zgeE9X/article/details/124486530)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_2"}}] [.reference_item style="max-width: 33.333333333333336%"] - *3* [ruoyi-vue-pro yudao 项目报表设计器 积木报表模块启用及相关SQL脚本](https://download.csdn.net/download/zengwenbo225566/88234865)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_2"}}] [.reference_item style="max-width: 33.333333333333336%"] [ .reference_list ]
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值