gogogo
管理员
管理员
  • UID25
  • 粉丝0
  • 关注0
  • 发帖数1384
阅读:6654回复:2

关于es6中新增的几个数组方法filter()、some()......Array常用方法整理

楼主#
更多 发布于:2020-03-14 21:27
关于数组中forEach()、map()、filter()、reduce()、some()、every()的总结


Array常用方法整理

Array.prototype.forEach()

数组的遍历可以说是最常用的方法了,我们来看一下ES6的遍历方法

//句法
arr .forEach(function callback(currentValue,index,array){
    //你的迭代器
} [,thisArg ]);


//实例
var a = ['a', 'b', 'c'];
a.forEach(function(element) {
    console.log(element);
});

   // a
   // b
  // c

缺点:forEach不能中断,即不能加return,break,continue。



Array.prototype.map()

map()方法创建一个新数组,其结果是在调用数组中的每个元素上调用一个提供的函数。

//实例
var numbers = [1, 5, 10, 15];
var doubles = numbers.map(function(x) {
   return x * 2;
});
// doubles is now [2, 10, 20, 30]
// numbers is still [1, 5, 10, 15]

var numbers = [1, 4, 9];
var roots = numbers.map(Math.sqrt);
// roots is now [1, 2, 3]
// numbers is still [1, 4, 9]


注意:虽然map方法也有遍历的作用,但是不应这么做。遍历还是要用forEach。

map主要还是用来返回一个与旧数组想映射的数组



Array .prototype .find()

find()方法返回数组中满足提供的测试功能的第一个元素。否则undefined返回。


/实例
function isBigEnough(element) {
  return element >= 15;
}

[12, 5, 8, 130, 44].find(isBigEnough); // 130    

//注意:只取满足条件的第一个



Array .prototype .some()

some()方法测试数组中至少有一个元素是否通过由提供的函数实现的测试。


//句法
arr .some(callback [,thisArg ])

//实例
function isBiggerThan10(element, index, array) {
  return element > 10;
}

[2, 5, 8, 1, 4].some(isBiggerThan10);  // false
[12, 5, 8, 1, 4].some(isBiggerThan10); // true

该方法与find有点类似,只是返回值为真假,可用于判断。
gogogo
管理员
管理员
  • UID25
  • 粉丝0
  • 关注0
  • 发帖数1384
沙发#
发布于:2020-03-14 21:34


Array .prototype .reduce ()


该reduce()方法对累加器和数组中的每个元素(从左到右)应用一个函数,将其减少为单个值
//实例
var total = [0, 1, 2, 3].reduce(function(sum, value) {
     return sum + value;
}, 0);
   // total is 6

var flattened = [[0, 1], [2, 3], [4, 5]].reduce(function(a, b) {
  return a.concat(b);
}, []);
   // flattened is [0, 1, 2, 3, 4, 5]
gogogo
管理员
管理员
  • UID25
  • 粉丝0
  • 关注0
  • 发帖数1384
板凳#
发布于:2020-03-14 21:38


Array.prototype.push()

push()方法将一个或多个元素添加到数组的末尾并返回数组的新长度。

//实例


var numbers = [1, 2, 3];
numbers.push(4);
console.log(numbers); // [1, 2, 3, 4]

numbers.push(5, 6, 7);
console.log(numbers); // [1, 2, 3, 4, 5, 6, 7]


Array .prototype .join()

该join()方法将数组(或数组类对象)的所有元素连接到字符串中。

//实例
var a = ['Wind', 'Rain', 'Fire'];
a.join();    // 'Wind,Rain,Fire'
a.join('-'); // 'Wind-Rain-Fire'

该方法可与String.split()方法配合使用。现在数组和字符串之间的相互转换。
游客


返回顶部