javascript数组API

1. 过滤器 filter

1. 语法:

var new_array = arr.filter(callback(element[, index[, array]])[, thisArg])
1.callback:用来测试数组的每个元素的函数,调用时使用的参数
    参数1:element
        当前数组处理的元素
    参数2:index 可选
        正在处理数组的索引
    参数3:array 可选
        调用了filter的数组
    参数4:thisArg
        执行callback时的this的值

2.描述

filter为数组中的每个元素调用一次callback函数,并利用所有使得callback返回 true或等价于true的值的元素创建一个新数组,callback只会在已经赋值的索引上被调用.那些没有通过callback测试的元素会被跳过,不会被包含在新数组中

如果为fiter提供一个thisarg参数,则它会被作为 callback 被调用的this值.否则, callback的this值在非严格情况下将是全局对象,严格模式下  为undefied.
callback最终观察到的this值是根据通常函数看到的this值确定的

filter 不会改变原数组,它会返回过滤后的新数组

filter 遍历的元素范围在第一次调用 callbake之前就已经确定了.在调用 filter之后被添加到数组中的元素不会被filter遍历到.如果已经存在的元素改变了则传入他们的callback的值是filter遍历它们那一刻的值,被删除或从未被赋值的元素不会被遍历到

3. 实例

function isBigEnough(element) {
  return element >= 10;
}
var filtered = [12, 5, 8, 130, 44].filter(isBigEnough);
// filtered is [12, 130, 44]

猜你喜欢

转载自www.cnblogs.com/myheimastudy/p/9908252.html