jsES5----数组api学习

2018-05-25  本文已影响0人  大山的那边

1.foreach(数组的每一个值,下标index,数组本身)

arr.forEach(function(i,index,data){console.log(i,index,data)})

1 0 (4) [1, 2, 3, 5]

2 1 (4) [1, 2, 3, 5]

3 2 (4) [1, 2, 3, 5]

5 3 (4) [1, 2, 3, 5]

2.map(function( 数组的每一个值 ){  return  ------- })

返回一个新的数组, map方法的作用不难理解,“映射”嘛,也就是原数组被“映射”成对应新数组

var arr = [1,2,3,5]

arr.map(function(i){return i*2})

 [2, 4, 6, 10]

3.filfilter  (function( 数组的每一个值 ){  return  ------- }) 

 对数组进行筛选  指数组filter后,返回过滤后的新数组。 这里可以进行有条件的返回

默认进行 true / false 的判断

var data = [0, 1, 2, 3];var arrayFilter = data.filter(function(item) { return item;});console.log(arrayFilter);// [1, 2, 3]


4. some(function( 数组的每一个值 ){  return  ------- })

some要求至少有1个值让callback返回true就可以了 不足在于,some只有有true即返回不再执行了。

arr.some(function(i){ if (i>3){return 11}})

true


var scores = [5, 8, 3, 10];

var current = 7;

function higherThanCurrent(score) {

  return score > current;

}

if (scores.some(higherThanCurrent)) {

  alert("朕准了!");

}

5   ..every  

6. indexof(查找的值,哪一个下标开始)  和  字符串的类似

查不到返回 -1

7.lastIndexOf     与6相反

 不同在于,从默认开始,跌第二个参数为array.length - 1而不是0.


8.reduce (function( 之前值、当前值、索引值以及数组本身  ){  return  ------- })


callback函数接受4个参数:之前值、当前值、索引值以及数组本身。

var matrix = [ [1, 2], [3, 4], [5, 6]];// 二维数组扁平化var flatten = matrix.reduce(function (previous, current) { return previous.concat(current);});console.log(flatten);// [1, 2, 3, 4, 5, 6]

上一篇下一篇

猜你喜欢

热点阅读