JavaScript数组函数整理汇总

1、Array.isArray()
我们列表中的第一项是 JavaScript 中的 isArray 方法,它确定传递的输入是否为数组。
语法:
在下面的代码中, arr 将是我们要检查的输入,是否为数组。isArray() 函数的结果将是一个布尔值。
Array.isArray(arr)
示例:
Array.isArray([1, ‘something’, true]);
// true
Array.isArray({anything: 123});
// false
Array.isArray(‘some string’);
// false
Array.isArray(undefined);
// false

2 、length
列表中的第二项不是方法,而是数组的一个重要属性。我认为它也必须在列表中。从属性名称可以清楚地看出,它返回数组中项目的长度(总数)。
语法:
在下面的代码中 arr 是我们的输入数组,我们将通过使用 length 属性获取其项目数。
arr.length;
示例:
[].length;
// 0
[1, ‘something’, true].length;
// 3

3、forEach()
forEach 方法的行为类似于 for 循环。但是您不必定义它将执行多少次迭代,因为它将执行与输入数组中的项目数相等的迭代。
语法:
在下面的代码中, arr 将是我们的输入数组,forEach() 方法将在该数组上执行。
forEach 方法包含一个回调函数 callbackFn 作为 forEach 方法的参数。
callbackFn 是一个 ES6 箭头函数。
但是您也可以使用传统样式函数。此 callbackFn 将执行与输入数组中存在的项目数等效的迭代。
在每次迭代中,都会在 callbackFn 的范围内执行一些代码。同样在 callbackFn 的每次迭代参数中,arrItem 和 index 将使用连续的数组项和增量索引值进行更新。
arr.forEach(callbackFn);
const callbackFn = (arrItem, index) => {callbackFn Scope Code Exec}
// combining above statements together into one line of code
arr.forEach((arrItem, index) => {callbackFn Scope Code Exec});
如果您还不明白,别着急,让我们看看下面的例子。
例子:
在下面的例子中,我们有一个输入数组 [‘apple’, ‘banana’, ‘carrot’],它在 forEach callbackFn 中迭代。
在 callbackFn 的范围内,我们正在打印 callbackFn 的参数。callbackFn 有 2 个参数,arrItem 和 index。
第二个参数 index 是可选的,如果你不需要它,你可以简单地省略它。由于 arr 有 3 个项目,因此 callbackFn 将迭代 3 次并在每次迭代时打印 callbackFn 的参数。
[‘apple’, ‘banana’, ‘carrot’].forEach((arrItem, index) => {
console.log(index + ’ => ’ + arrItem);
});
// 0 => apple
// 1 => banana
// 2 => carrot

4、map( )
map() 方法的行为类似于 forEach,但主要区别在于,它返回一个新数组作为结果。
您在一个数组上执行map(),在map方法callbackFn的范围内(如果您对callbackFn不清楚,查看forEach()方法解释),您执行一些语句。
callbackFn 的每次迭代都会为结果数组返回一个项目。
语法:
arr 是我们的输入数组,map 方法将在其上执行,并且在每次迭代时,都会将一个新项目添加到结果数组中,该数组将作为 resultIteration 返回。
arr.map((arrItem, index) => { return resultIteration });
例子:
我们对 arr [2, 4, 6, 8, 16] 执行 map 方法,并将结果保存在变量 mapResult 中。mapResult 将是一个数组,该数组将填充 map 方法每次迭代的结果。
在 map 方法 callbackFn 作用域中,我们将 arr 的每一项乘以 2,并将每次迭代的结果附加到 mapResult 中。
5 次迭代后我们的最终 mapResult 数组将是 [4, 8, 12, 16, 32]。
const arr = [2, 4, 6, 8, 16];
const mapResult = arr.map(arrItem => arrItem * 2);
console.log(mapResult);
// [4, 8, 12, 16, 32]

5、filter()
filter() 方法的行为类似于 map() 并返回一个数组作为结果。但正如名称所描述的,它返回一个过滤后的结果数组。
您可以使用过滤器 callbackFn 范围内的条件来过滤结果数组。
语法:
arr 将是 filter 方法将执行的数组,并且在每次迭代时,都会将一个新项目添加到结果数组中,该结果数组将作为 resultIteration 返回。
arr.filter((arrItem, index) => { condition to return arrItem });
例子:
我们对 arr [2, 4, 6, 8, 16] 执行 filter 方法,并将结果保存在变量 filterResult 中。
我们过滤输入数组的条件是( arrItem < 5 OR arrItem > 10 )。
mapResult 将是一个数组,它将填充符合条件的 arr 项目。
在 map 方法函数代码块中&#x

  • 0
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值