js数组filter⽅法的使⽤
js 数组filter ⽅法的使⽤
filter()⽅法使⽤指定的函数测试所有元素,并创建⼀个包含所有通过测试的元素的新数组。
filter()基本语法:
arr.filter(callback[, thisArg])
filter()参数介绍:
参数名说明
callback ⽤来测试数组的每个元素的函数。调⽤时使⽤参数 (element, index, array)
返回true表⽰保留该元素(通过测试),false则不保留。
thisArg 可选。执⾏ callback 时的⽤于 this 的值。
filter()⽤法说明:
filter 为数组中的每个元素调⽤⼀次 callback 函数,并利⽤所有使得 callback 返回 true 或等价于 true 的值的元素创建⼀个新数组。
callback 只会在已经赋值的索引上被调⽤,对于那些已经被删除或者从未被赋值的索引不会被调⽤。那些没有通过 callback 测试的元素会被跳过,不会被包含在新数组中。 callback 被调⽤时传⼊三个参数:
元素的值
元素的索引
被遍历的数组
如果为 filter 提供⼀个 thisArg 参数,则它会被作为 callback 被调⽤时的 this 值。否则,callback 的this 值在⾮严格模式下将是全局对象,严格模式下为 undefined。
filter 不会改变原数组。
filter 遍历的元素范围在第⼀次调⽤ callback 之前就已经确定了。在调⽤ filter 之后被添加到数组中的元素不会被 filter 遍历到。
如果已经存在的元素被改变了,则他们传⼊ callback 的值是 filter 遍历到它们那⼀刻的值。被删除或从来未被赋值的元素不会被遍历到。
例⼦1-- 过滤⼩于10 的值;
function isBigEnough(element) {
return element >= 10;
}
var filtered = [12, 5, 8, 130, 44].filter(isBigEnough);
例⼦2-- 过滤对象中的数据; 多⽤于筛选功能;
var arr = [
{
name: '⼩⽶',
code: '01'
},
{
name: "⼩⽶⽶",
code: '02'
jsarray删除元素},
{
name: "⼩明",
code: '03'
},
{
name: "⼤明",
code: '"04"'
}
]
var newArr = arr.filter((v) => { return v.name.includes('明') })
console.log(newArr); // {
// name: "⼩明",
// code: '03'
// },
// {
// name: "⼤明",
// code: '"04"'
/
/ }
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论