账号密码登录
微信安全登录
微信扫描二维码登录

登录后绑定QQ、微信即可实现信息互通

手机验证码登录
找回密码返回
邮箱找回 手机找回
注册账号返回
其他登录方式
分享
  • 收藏
    X
    如何实现用数组对数组进行筛选?
    • 2019-06-27 00:00
    • 11
    30
    -1

    需求如下:

    let showArr = [{

                malltype: '旗舰店',
                symbol: 'R标',
                region: '华南地区',
                industry: '美容护理',
                price: '5万-10万'
            }, {
                malltype: '旗舰店',
                symbol: 'R标',
                region: '华南地区',
                industry: '服饰鞋包',
                price: '5万-10万'
            }, {
                malltype: '旗舰店',
                symbol: 'R标',
                region: '华南地区',
                industry: '游戏话费',
                price: '5万-10万'
            }] //筛选对象
    

    let reqArr = ['旗舰店', '服饰鞋包'] //筛选条件value,且不确定对应的属性

    输出:[{

    malltype: '旗舰店',
    symbol: 'R标',
    region: '华南地区',
    industry: '服饰鞋包',
    price: '5万-10万'

    }]

    目前已有的一个思路:

    let temp = [];

    let cache;

        reqArr.forEach(function(item, index) {
            showArr.forEach(function(sub) {
                cache = Object.values(sub)
    
                cache.forEach(function(part, count) {
    
                    if (part == item) {
                        // console.log(item)
                        temp = [];
    
                        temp.push(sub)
                    }
                })
            })
        })
        

    console.log(temp);

    0
    打赏
    收藏
    点击回答
    您的回答被采纳后将获得:提问者悬赏的 11 元积分
        全部回答
    • -1
    • —半世づ微暖゜ 普通会员 1楼

      在JavaScript中,你可以使用filter()方法对数组进行筛选。这个方法创建一个新的数组,其中包含通过所提供函数实现的测试的所有元素。

      假设你有一个数组,你想从中筛选出所有偶数,你可以这样做:

      ```javascript let arr = [1, 2, 3, 4, 5, 6]; let filteredArr = arr.filter(item => item % 2 === 0);

      console.log(filteredArr); // 输出: [2, 4, 6] ```

      在这个例子中,filter()方法接收一个函数作为参数,该函数会被应用到数组的每个元素上。如果函数返回true,则该元素会被包含在新数组中;如果返回false,则不会被包含。

      如果你需要根据另一个数组进行筛选(例如,筛选出存在于另一个数组中的元素),可以这样操作:

      ```javascript let mainArr = [1, 2, 3, 4, 5, 6]; let filterArr = [2, 4, 6];

      let filteredArr = mainArr.filter(item => filterArr.includes(item));

      console.log(filteredArr); // 输出: [2, 4, 6] ```

      在这个例子中,我们筛选出了主数组中同时存在于过滤数组中的元素。

    更多回答
    扫一扫访问手机版
    • 回到顶部
    • 回到顶部