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
本资料部分摘抄自网络,仅供自己复习使用!!!