ES6-数组的新方法

Posted immeya

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了ES6-数组的新方法相关的知识,希望对你有一定的参考价值。

1.Array.of() 方法创建一个具有可变数量参数的新数组实例,而不考虑参数的数量或类型。

  Array.of() 和 Array 构造函数之间的区别在于处理整数参数:Array.of(7)创建一个具有单个元素7的数组,而Array(7)创建一个长度为7的空数组;

  Array(n)即建立length为n的空数组。

Array.of(7);  // [7]
Array.of(1, 2, 3);
// [1, 2, 3]

Array(7);  // [empty × 7]
Array(1, 2, 3);  //[1, 2, 3]

2.Array.from()方法从一个类似数组或可迭代对象中创建一个新的,浅拷贝的数组实例。

 语法:Array.from(arrayLike[, mapFn[, thisArg]])

  arrayLike想要转换成数组的伪数组对象或可迭代对象。

  mapFn (可选参数)如果指定了该参数,新数组中的每个元素会执行该回调函数。

  thisArg (可选参数)可选参数,执行回调函数 mapFn 时 this 对象。

Array.from(‘foo‘)
//["f", "o", "o"];
Array.from([1, 2, 3], x => x + x)
//[2, 4, 6]

3. Array.prototype.copyWithin()  实验性API;在数组内部,将一段元素序列拷贝到另一段元素序列上,覆盖原有的值。

4.find

5.findIndex

6.map

7.reduce

8.filter

9.forEach

10.Array.prototype.fill()   将数组中指定区间的所有元素的值,都替换成某个固定的值。

11.some

数组方法中已经总结,可以翻看上上个 笔记哦

下面做一道简单的题目巩固一下~  ~

var arr = [
    { id: 1, value: ‘a‘ },
    { id: 2, value: ‘b‘ },
    { id: 3, value: ‘c‘ },
    { id: 4, value: ‘d‘ },
    { id: 5, value: ‘e‘ },
    { id: 6, value: ‘e‘ },
    { id: 7, value: ‘f‘ },
  ]

  // 1: 删除value为e的 
  arr = arr.filter(d => d.value !== ‘e‘);

  // 2: 删除第一个value为e的
  let index = arr.findIndex(d => d.value === ‘e‘);
  arr.splice(index, 1)
  // 3: 删除最后一个value为e的
  let index = arr.reverse().findIndex(d => d.value === ‘e‘);
  arr.splice(index, 1);
  arr.reverse();
  // 4: 找出所有value为e的
  let newArr = arr.filter(d => d.value === ‘e‘);
  // 5: 找出第一个value为e的
  let newArr = arr.find(d => d.value === ‘e‘);
  // 6: 找出最后一个value为e的
  let newArr = arr.reverse().find(d => d.value === ‘e‘).reverse();

 

以上是关于ES6-数组的新方法的主要内容,如果未能解决你的问题,请参考以下文章

ES6解构赋值

ES6那些事半功倍的新特性

ES6中的新特性

ES6中数组的新方法

ES6解构

ES6的新特性(12)——Set 和 Map 数据结构