javaScript数组方法二

数组find()方法

find()方法返回数组中满足提供的测试函数的第一个元素的值,找不到返回undefind

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

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

 

数组indexOf()方法

indexOf()方法返回在该函数中找到第一个元素的位置,找不到返回-1

array1.indexOf(searchElement[, fromIndex])

array1

//必需。一个数组对象。

searchElement

//必需。要在 array1 中定位的值。

fromIndex

//可选。用于开始搜索的数组索引。如果省略 fromIndex,则从索引 0 处开始搜索。

 

数组中findindex()方法返回满足回调函数中指定的测试条件的第一个元素的索引值

语法:arrayObj.findIndex(callbackfn [, thisArg]);

参数设置
arrayObj  必需。数组对象。

callbackfn  必需。用于测试数组中的个元素的回调函数。

thisArg  可选。指定回调函数中的 this 对象。如果未指定,则未定义 this 对象。

例题 :
[1,2,3].findIndex(function(x) { x == 2; });
// Returns an index value of 1.

[1,2,3].findIndex(x => x == 4);
// Returns an index value of -1.

 

数组的filter()方法创建一个新数组,新数组的元素是通过检查指定数组中符合条件的所有元素

语法 : array1.filter(callbackfn[, thisArg])

参数 :array1

//必需。一个数组对象。

callbackfn

//必需。一个接受最多三个参数的函数。对于数组中的每个元素,filter 方法都会调用 callbackfn 函数一次。

thisArg

//可选。可在 callbackfn 函数中为其引用 this 关键字的对象。如果省略 thisArg,则 undefined 将用作 this 值。

例题:
//过滤掉小于 10 的数组元素:

//代码:
function isBigEnough(element, index, array) {
    return (element >= 10);
}
var filtered = [12, 5, 8, 130, 44].filter(isBigEnough);
// 12, 130, 44
//结果:[12, 5, 8, 130, 44].filter(isBigEnough) : 12, 130, 44

//功能说明:

对数组中的每个元素都执行一次指定的函数(callback),并且创建一个新的数组,该数组元素是所有回调函数执行时返回值为 true 的原数组元素。它只对数组中的非空元素执行指定的函数,没有赋值或者已经删除的元素将被忽略,同时,新创建的数组也不会包含这些元素。

回调函数可以有三个参数:当前元素,当前元素的索引和当前的数组对象。

如参数 thisObject 被传递进来,它将被当做回调函数(callback)内部的 this 对象,如果没有传递或者为null,那么将会使用全局对象。

filter 不会改变原有数组,记住:只有在回调函数执行前传入的数组元素才有效,在回调函数开始执行后才添加的元素将被忽略,而在回调函数开始执行到最后一个元素这一期间,数组元素被删除或者被更改的,将以回调函数访问到该元素的时间为准,被删除的元素将被忽略。

 

数组map()方法返回一个新数组 ,新数组的元素是原数组元素调用函数处理后的值

var data = [1, 2, 3, 4];

var arrayOfSquares = data.map(function (item) {
  return item * item;//必须return
});

alert(arrayOfSquares); // 1, 4, 9, 16

 

reduce接收的就是一个回调函数,去调用数组里的每一项,直到数组结束。

var total = [0,1,2,3,4].reduce((a, b)=>a + b); //10

 本资料部分摘抄自网络,仅供自己复习使用!!!

posted @ 2017-12-21 15:42  高煜  阅读(103)  评论(0编辑  收藏  举报