<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<title>js array.filter()</title>
</head>
<body>
<script>
/*参考:https://www.runoob.com/jsref/jsref-filter.html
知识点:
filter() -> []
filter() 方法创建一个新的数组,新数组的元素是通过检查原数组中符合条件的所有元素获得的。
注意: filter() 不会对空数组进行检测,filter() 不会改变原始数组。
array.filter(function(currentValue,index,arr), thisValue);
function(currentValue, index,arr) 必须。函数,数组中的每个元素都会执行这个函数
currentValue 必须。当前元素的值
index 可选。当前元素的索引值
arr 可选。当前元素所属的数组对象
thisValue 可选。对象作为该执行回调时使用,传递给函数,用作 "this" 的值。
如果省略了 thisValue ,"this" 的值为 "undefined"
返回数组,包含了符合条件的所有元素。如果没有符合条件的元素,则返回空数组。*/
// 1.
let ages = [32, 33, 16, 40];
let arr = ages.filter(function (age) {
/*功能:筛选符合条件的数组元素,返回值为true,则保留,否则丢弃。*/
return age >= 18;
});
console.log("ages:", ages);
// ages: (4) [32, 33, 16, 40]
console.log("arr:", arr);
// arr: (3) [32, 33, 40]
// 2.
let data = [{"a": 1}, null, null];
arr = data.filter(function (ele) {
/*功能:筛选符合条件的数组元素,保留返回值。*/
if (ele) {
return ele;
}
});
console.log("data:", data);
// data: (3) [{a: 1}, null, null]
console.log("arr:", arr);
// arr: [{a: 1}]
// 3.
arr = [].filter(function (ele) {
if (ele) {
return ele;
}
});
console.log("arr:", arr);
// arr: []
</script>
</body>
</html>
js array.filter().html
最新推荐文章于 2024-04-26 16:52:50 发布