ES6常用数组方法

接来写几个我平时在项目使用的最常用的几个优化的方法~

1.数组去重

	var arr = [1,2,3,4,3,4]; 
	var arr2 = [...new Set(arr)];

这个时候arr2就是去重后的数组~

2. 交换两个变量的值

	let [x,y] = [1,2];
	[y,x] = [x,y];
	console.log(y);

3.获取字符串中的某个字符

	let arr= "hellomybo";
	console.log(arr[3]);

4.使用箭头函数代替回调函数

ES5的写法

	 let a1 = [1,2,3].map(function (x) {
	            return x * x;
	 });

ES6 箭头函数写法

	  let a2 = [1,2,3].map(x => x * x);
	
	  console.log(a1,a2);

5.合并数组

	var arr1 = ['a', 'b'];
	var arr2 = ['c'];
	var arr3 = ['d', 'e'];

// ES5的合并数组

	arr1.concat(arr2, arr3);
	// [ 'a', 'b', 'c', 'd', 'e' ]

// ES6的合并数组

	[...arr1, ...arr2, ...arr3]
	// [ 'a', 'b', 'c', 'd', 'e' ]

6.字符串反转

	let str = "12345678900987654321";

原始写法:

	str.split('').reverse().join('')

展开写法:

	[...str].reverse().join('')

7.过滤需要的数值 和 获得计算后的数值

过滤:

	['a',,'b'].filter(x => true)     // ['a','b']    

计算:

	let arr = [1,2,3,4].map(x=>x+1);
	console.log(arr);

8.数组降维 使用generator迭代器

var arr = [1, [[2, 3], 4], [5, 6]];

var flat = function* (a) {
  var length = a.length;
  for (var i = 0; i < length; i++) {
    var item = a[i];
    if (typeof item !== 'number') {
      yield* flat(item);
    } else {
      yield item;
    }
  }
};

for (var f of flat(arr)) {
  console.log(f);
}

9.splice() 方法向/从数组中添加/删除项目,然后返回被删除的项目

var arr = new Array(6)
arr[0] = "George"
arr[1] = "John"
arr[2] = "Thomas"
arr[3] = "James"
arr[4] = "Adrew"
arr[5] = "Martin"

document.write(arr + "<br />")
arr.splice(2,1,"William")
document.write(arr)
输出:
//George,John,Thomas,James,Adrew,Martin
//George,John,William,James,Adrew,Martin

10.置空数组

有时候我们需要清空数组,一个快捷的方法就是直接让数组的 length 属性为 0,就可以清空数组了。

11.将数组转换为对象

有时候,出于某种目的,需要将数组转化成对象,一个简单快速的方法是就使用展开运算符号 ...:

12.用数据填充数组

在某些情况下,当咱们创建一个数组并希望用一些数据来填充它,这时 .fill()方法可以帮助咱们。

13.从数组中删除虚值

在 JS 中,虚值有 false, 0,'', null, NaN, undefined。咱们可以 .filter() 方法来过滤这些虚值。

14.从数组中获取随机值

有时我们需要从数组中随机选择一个值。一种方便的方法是可以根据数组长度获得一个随机索引,如下所示

15.对数组中的所有值求和

JS 面试中也经常用 reduce 方法来巧妙的解决问题

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

我来说两句

0 条评论
登录 后参与评论

相关文章

  • 小述JavaScript数组的增删改查

    操作数组一直以来都是很头疼的问题,特别是我这样的比较菜的码农,我个人是很排斥数组这个东西的,但是很多的时候不用数组还是不行的,毕竟很多的数据只靠一个变量是远远不...

    何处锦绣不灰堆
  • ES6几个比较常用的方法总结

    看到了一篇总结的ES6的,感觉不错,这里转载一下,这是原文地址,由于博主有自己的照片,所以我不方便直接转:

    何处锦绣不灰堆
  • 讲一下怎么区分伪类、伪元素,同时优雅的处理页面浮动的问题

    首先介绍一下什么是伪类:伪类其实我们经常用的到,只是我们自己不会刻意的说这个是伪类这样的一个东西,我下面简单的举个例子就明白了怎么回事

    何处锦绣不灰堆
  • 算法题之数组连续筛选处理

    大体思路就是循环遍历,每次遍历判断当前项是否与前一项差值为1,这里需要考虑若结果为1,如何处理,结果不为1如何处理。

    挥刀北上
  • ES6系列_6之新增的数组知识

    JSON的数组格式就是为了前端快速的把JSON转换成数组的一种格式,json数组格式如下:

    wfaceboss
  • 数据结构与JS也可以成为CP(一)数组

    Hello小伙伴们,经过了最近的一些介绍,我们今天又返回了JS,为什么呢?我们主要是对数据结构进行一下介绍,很多小伙伴认为对于前端来说数据结构不重要,曾经的我也...

    萌兔IT
  • 常用技巧之JS判断重复

    如何判断数组中是否有相同的元素呢? 先来讲下思路: 现实中,要判断某个东西是否相同,那就意味着这东西至少是有2个或更多, 否则单个东西没法比较。 数组也是一样,...

    web前端教室
  • 第29天:js-数组添加删除、数组和字符串相互转换

    一、添加数组 var arr=[1,3,5]; arr.push(7,9);//添加7和9到数组arr后面,得到[1,3,5,7,9] 1、push();可向数...

    半指温柔乐
  • 前端学习(40)~js学习(十七):数组的常见方法&数组的遍历

    unshift():在数组最前面插入一个或多个元素,返回结果为该数组新的长度。插入元素后,其他元素的索引会依次调整。

    Vincent-yuan
  • JavaScript数组基础及实例

    js数组 和var i=1;这样的简单存储一样是js中的一种数据结构,是专门用来存储多个数据的一种数据结构。 摘:数组是一组数据的集合,其表现形式就是内存中的一...

    二十三年蝉

扫码关注云+社区

领取腾讯云代金券