全国旗舰校区

不同学习城市 同样授课品质

北京

深圳

上海

广州

郑州

大连

武汉

成都

西安

杭州

青岛

重庆

长沙

哈尔滨

南京

太原

沈阳

合肥

贵阳

济南

下一个校区
就在你家门口
+
当前位置:首页  >  技术干货

10个超实用的JavaScript技巧,让你的日常工作更轻松

发布时间:2022-09-09 13:46:46
发布人:wjy

  在前面,我们也分享了很多关于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,则对象必须为空。

相关文章

敏捷开发实行中各岗位职能是什么?

敏捷开发实行中各岗位职能是什么?

2023-10-14
敏捷开发在实际应用中有什么注意点?

敏捷开发在实际应用中有什么注意点?

2023-10-14
软件定制开发中的敏捷开发是什么?

软件定制开发中的敏捷开发是什么?

2023-10-14
三维重建 3D reconstruction有哪些实用算法?

三维重建 3D reconstruction有哪些实用算法?

2023-10-14

最新文章

常见网络安全面试题:Windows常用的命令有哪些?

常见网络安全面试题:Windows常用的命令有哪些?

2023-10-09
常见网络安全面试题:根据设备告警如何展开排查?

常见网络安全面试题:根据设备告警如何展开排查?

2023-10-09
常见网络安全面试题:mysql加固呢?(数据库加固)

常见网络安全面试题:mysql加固呢?(数据库加固)

2023-10-09
常见网络安全面试题:windows和linux加固?(操作系统加固)

常见网络安全面试题:windows和linux加固?(操作系统加固)

2023-10-09
在线咨询 免费试学 教程领取