开发学院

您的位置:首页>教程>正文

教程正文

ES6 Array对象新增的方法

ES6 Array对象新增的方法

  下面是ES6新增加的数组方法

Array.prototype.find

  find允许您遍历一个数组,并返回导致指定的回调函数返回true的第一个元素。一旦找到一个元素,函数立即返回。这是一种有效的方法来获取与指定条件匹配的第一个项。

例子

var numbers = [1, 2, 3]; 
var oddNumber = numbers.find((x) => x % 2 == 1); 
console.log(oddNumber); // 1

输出

1

注意- es5 filter()和es6 find ()不是同义词。filter总是返回一个匹配的数组(并返回多个匹配),find总是返回实际元素。

Array.prototype.findIndex

  findindex的行为类似于find,但是它没有返回匹配的元素,而是返回该元素的索引。

var numbers = [1, 2, 3]; 
var oddNumber = numbers.findIndex((x) => x % 2 == 1); 
console.log(oddNumber); // 0

  上面的示例将返回值1 ( 0)的索引作为输出。

Array.prototype.entries

  entries返回一个数组迭代器,该迭代器可以通过数组的键和值来循环。条目将返回一个数组的数组,其中每个子数组都是[索引、值]的数组。

var numbers = [1, 2, 3]; 
var val = numbers.entries(); 
console.log(val.next().value);  
console.log(val.next().value);  
console.log(val.next().value);

输出

[0,1] 
[1.2] 
[2,3]

  或者,我们也可以使用扩展运算符返回一个条目中的一个数组。

var numbers = [1, 2, 3]; 
var val= numbers.entries(); 
console.log([...val]);

输出

[[0,1],[1,2],[2,3]]

Array.from

  array.from ()允许从一个像对象这样的数组创建一个新数组。

  array.from ()的基本功能是将两种值转换为数组:

  •   类数组的值。

  •   类集和映射的iterable值。

例子

"use strict" 
for (let i of Array.from('hello')) { 
   console.log(i) 
}

输出

h                               
e                               
l                               
l                               
o

Array.prototype.keys()

  此函数返回数组索引。

例子

console.log(Array.from(['a', 'b'].keys()))

输出

[ 0, 1 ]

Array Traversal using for…in loop

  一个可以使用for...在循环中遍历数组。

"use strict" 
var nums = [1001,1002,1003,1004] 
for(let j in nums) { 
   console.log(nums[j]) 
}

  该循环执行基于索引的数组遍历。在成功执行上述代码时显示以下输出。

1001 
1002 
1003 
1004

Arrays in JavaScript

  JavaScript支持以下关于数组的概念:

  • 1.多维数组:JavaScript支持多维数组。多维数组最简单的形式是二维数组

  • 2.传递数组给方法:可以通过在没有索引的情况下指定数组的名称来传递指向数组的指针。

  • 3.函数返回数组:允许函数返回数组。

Array De-structuring

  JavaScript支持在数组解构。

例子

var arr = [12,13] 
var[x,y] = arr 
console.log(x) 
console.log(y)

输出

12 
13