filter方法筛选出满足条件的元素

查找数组中元素的长度大于6的元素,返回一个新的数组

例子1:

const words = ['spray', 'limit', 'elite', 'exuberant', 'destruction', 'present'];

const result = words.filter(word => word.length > 6);

console.log(result);

下面的示例使用filter()创建具有非零id元素的 json

例子2:

// 声明一个数组arr
var arr = [
                    { id: 15 },
                    { id: -1 },
                    { id: 0 },
                    { id: 3 },
                    { id: 12.2 },
                    { },
                    { id: null },
                    { id: NaN },
                    { id: 'undefined' }
                ];

        var invalidEntries = 0;
        // 判断id是否为数字
        function isNumber(obj) {
            return obj !== undefined && typeof(obj) === 'number' && !isNaN(obj);
        }
        // id不为0
        function filterByID(item) {
            if (isNumber(item.id) && item.id !== 0) {
                return true;
            }
            invalidEntries++;
            return false;
        }
        // 找出数组中元素里面是数组的id满足id为数字并且id不为0
        var arrByID = arr.filter(filterByID);

        console.log('Filtered Array\n', arrByID);
        // Filtered Array
        // [{ id: 15 }, { id: -1 }, { id: 3 }, { id: 12.2 }]

        console.log('Number of Invalid Entries = ', invalidEntries);
        // Number of Invalid Entries = 5

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值