千锋教育-做有情怀、有良心、有品质的职业教育机构

手机站
千锋教育

千锋学习站 | 随时随地免费学

千锋教育

扫一扫进入千锋手机站

领取全套视频
千锋教育

关注千锋学习站小程序
随时随地免费学习课程

当前位置:首页  >  技术干货  > 10个超实用的JavaScript技巧,让你的日常工作更轻松

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

来源:千锋教育
发布人:wjy
时间: 2022-09-09 13:46:46 1662702406

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

tags:
声明:本站稿件版权均属千锋教育所有,未经许可不得擅自转载。
10年以上业内强师集结,手把手带你蜕变精英
请您保持通讯畅通,专属学习老师24小时内将与您1V1沟通
免费领取
今日已有369人领取成功
刘同学 138****2860 刚刚成功领取
王同学 131****2015 刚刚成功领取
张同学 133****4652 刚刚成功领取
李同学 135****8607 刚刚成功领取
杨同学 132****5667 刚刚成功领取
岳同学 134****6652 刚刚成功领取
梁同学 157****2950 刚刚成功领取
刘同学 189****1015 刚刚成功领取
张同学 155****4678 刚刚成功领取
邹同学 139****2907 刚刚成功领取
董同学 138****2867 刚刚成功领取
周同学 136****3602 刚刚成功领取
相关推荐HOT