资讯专栏INFORMATION COLUMN

Array 的三个技巧

hizengzeng / 1309人阅读

摘要:试着用数组的构造方法创建一个数组,你就会明白我的意思。我们常用的解决方法是传递或自从把当做一个的时候。根据中对扩展运算符的介绍,有一个更简洁的方法可以将空参数传递给一个方法。

每天学习一个JS小知识

1. 迭代一个空数组
JavaScript 中直接创建的数组是松散的,以至于会有很多坑。试着用数组的构造方法创建一个数组,你就会明白我的意思。

 const arr = new Array(4);
[undefined, undefined, undefined, undefined]

你会发现,通过一个松散的数组去循环调用一些转换是非常难的。

 const arr = new Array(4);
 arr.map((elem, index) => index);
[undefined, undefined, undefined, undefined]

想要解决这个问题,你可以使用在创建新数组的时候使用 Array.apply。

const arr = Array.apply(null, new Array(4));
arr.map((elem, index) => index);
[0, 1, 2, 3]

2. 给方法传一个空参数
如果你想调用一个方法,并不填其中的一个参数时,JavaScript 就会报错。

method("parameter1", , "parameter3");
Uncaught SyntaxError: Unexpected token 

我们常用的解决方法是传递 null 或 undefined.

method("parameter1", null, "parameter3") // or
method("parameter1", undefined, "parameter3");

自从 JavaScript 把 null 当做一个 object 的时候。根据 ES6 中对扩展运算符的介绍,有一个更简洁的方法可以将空参数传递给一个方法。正如前文所提到的,数组是松散的,所以给它传空值是可以的,我们正式用到了这个优点。

method(...["parameter1", , "parameter3"]); // works

数组去重
我一直不明白为什么数组不提供一个内置函数可以让我们方便的取到去重以后的值。扩展运算符帮到了我们,使用扩展运算符配合 Set Spread operators are here for the rescue. Use spread operators with the Set 可以生成一个不重复的数组。

const arr = [...new Set([1, 2, 3, 3])];
[1, 2, 3]

文章版权归作者所有,未经允许请勿转载,若此文章存在违规行为,您可以联系管理员删除。

转载请注明本文地址:https://www.ucloud.cn/yun/96430.html

相关文章

  • map函数使用技巧

    摘要:的数组对象中有很多有用的方法,的函数在某些方面非常的方便强大。函数的使用例子求数组中每个元素的平方根的值为的值仍为应用下面代码展示了如何去遍历用得到的动态对象集合。 js的Array数组对象中有很多有用的方法,js的map函数在某些方面非常的方便强大。 map() 方法创建一个新数组,其结果是该数组中的每个元素都调用一个提供的函数后返回的结果。 let numbers = [1, 5,...

    biaoxiaoduan 评论0 收藏0
  • JavaScript中Array一些实用操作技巧

    摘要:最近在调试页面时频繁与打交道,在复杂场景下,传参数就需要对大量参数进行处理。两者等效长度为的空数组同上是的内置对象,是的,虽然是数组,也是一种对象使用判断会返回而方法能更精准判断其类型。 最近在调试JSP页面时频繁与ajax打交道,在复杂场景下,ajax传参数就需要对大量参数进行处理。这时我才发现,熟练Array的处理真的会使开发轻松不少!! 关于Array Array的创建很灵活,可...

    yy13818512006 评论0 收藏0
  • 个人小结--javascript实用技巧和写法建议

    摘要:类似的情况还有,方法和方法等。今天我说一个最简单。代码如下和也可以实现,但是生成的是一个整数,如下分割线其它类型数据转布尔数据下面的转换,大家一看就明白了,不多说。缓存变量循环缓存分割线第一段就是每一次循环的时候,都要查询一次。 1.前言 从大学到现在,接触前端已经有几年了,感想方面,就是对于程序员而言,想要提高自己的技术水平和编写易于阅读和维护的代码,我觉得不能每天都是平庸的写代码,...

    WilsonLiu95 评论0 收藏0
  • Javascript 中map/reduce

    摘要:简单例子一个较为常用的场景就是累加或累乘输出数组元素的乘积输出数组元素的乘积简写形式输出数组元素的乘积形式,营造复杂的逼格用在数组降维扁平化处理的例子中注方法用于连接两个或多个数组。 看到一个提问的回答巧妙地使用了map/reduce操作,很优雅,所以来学习和总结一下javascript自带的map/reduce的使用技巧,文章不会讲的很深,纯当科普一下知识点,如有解释的不正确的地方,...

    zhou_you 评论0 收藏0
  • es6常用数组操作及技巧汇总

    摘要:检测数组或者检测对象的原型链是否指向构造函数的对象或者终极大招注意不可以用此方法检查常用方法合并多个数组,返回合并后的新数组,原数组没有变化。返回值是由被删除的元素组成的一个数组。 定义数组 const array = [1, 2, 3]; 或者 const array = new Array(); array[0] = 1; 建议尽量使用第一种形式定义数组,采用new的形式在大量的数...

    Noodles 评论0 收藏0

发表评论

0条评论

最新活动
阅读需要支付1元查看
<