码迷,mamicode.com
首页 > 编程语言 > 详细

数组一些新方法

时间:2016-04-02 22:45:54      阅读:234      评论:0      收藏:0      [点我收藏+]

标签:

1、Array.prototype.forEach()

 

forEach() 方法让数组的每一项都执行一次给定的函数。

语法:

array.forEach(callback[, thisArg])

参数

callback
在数组每一项上执行的函数,接收三个参数:
   currentValue
 当前项(指遍历时正在被处理那个数组项)的值。
  index
  当前项的索引(或下标)。
  array
  数组本身。
thisArg
可选参数。用来当作callback 函数内this的值的对象。

示例

var arr = [1,2,3];

arr.forEach(function(item, index, array){ 
    console.log(item);
});

 

2、Array.prototype.map()

 

map() 方法返回一个由原数组中的每个元素调用一个指定方法后的返回值组成的新数组。

语法:

array.map(callback[, thisArg])

参数

callback
原数组中的元素经过该方法后返回一个新的元素。
 currentValue
callback 的第一个参数,数组中当前被传递的元素。
 index
callback 的第二个参数,数组中当前被传递的元素的索引。
 array
callback 的第三个参数,调用 map 方法的数组。
thisArg
执行 callback 函数时 this 指向的对象。
var arr = [1,2,3];
var newArr = arr.map(function(item, index, array){ 
    return item+1;
});

console.log(newArr); //[2,3,4]
console.log(arr); //[1,2,3]

 

3、Array.prototype.reduce()

 

reduce() 方法接收一个函数作为累加器(accumulator),数组中的每个值(从左到右)开始合并,最终为一个值。

语法:

arr.reduce(callback,[initialValue])

参数

callback
执行数组中每个值的函数,包含四个参数
  previousValue
上一次调用回调返回的值,或者是提供的初始值(initialValue)
  currentValue
数组中当前被处理的元素
  index
当前元素在数组中的索引
  array
调用 reduce 的数组
initialValue
作为第一次调用 callback 的第一个参数。

回调函数第一次执行时,previousValue 和 currentValue 可以是一个值,如果 initialValue 在调用 reduce 时被提供,那么第一个 previousValue 等于 initialValue ,并且currentValue 等于数组中的第一个值;

如果initialValue 未被提供,那么previousValue 等于数组中的第一个值,currentValue等于数组中的第二个值。

[1,2,3,4].reduce(function(prev, cur, index, array){              
  console.log(prev+‘=‘+cur);
  return prev+ cur;
});

   结果:

  1=2

  3=3

  6=4

  10

[1,2,3,4].reduce(function(prev, cur, index, array){              
  console.log(prev+‘=‘+cur);
  return prev+ cur;
}, 10);

结果:

  10=1

  11=2

  13=3

  16=4

  20

4、Array.prototype.every()

every() 方法测试数组的所有元素是否都通过了指定函数的测试。不会改变原数组。

语法:

arr.every(callback[, thisArg])

参数

callback
用来测试每个元素的函数。
thisArg
执行 callback 时使用的 this 值。
var arr = [1,2,3,6];
arr.every(function(item, index, array){ 
    return item <5;
}); // false

5、Array.prototype.indexOf()

indexOf()方法返回给定元素能找在数组中找到的第一个索引值,否则返回-1。

语法

arr.indexOf(searchElement[, fromIndex = 0])

参数

searchElement
要查找的元素
fromIndex
开始查找的位置。如果该索引值大于或等于数组长度,意味着不会在数组里查找,返回-1。如果参数中提供的索引值是一个负值,则将其作为数组末尾的一个抵消,即-1表示从最后一个元素开始查找,-2表示从倒数第二个元素开始查找 ,以此类推。 注意:如果参数中提供的索引值是一个负值,仍然从前向后查询数组。如果抵消后的索引值仍小于0,则整个数组都将会被查询。其默认值为0.

数组一些新方法

标签:

原文地址:http://www.cnblogs.com/sanbao/p/5348487.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!