You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何筛选符合多条件的客户对象数组?求方法指导

客户数组筛选方法指导

需要处理客户对象数组,返回符合任一以下条件的新数组,以下是每个条件的判断方法建议:

条件1:姓名首字母为大小写C

  • 通过customer.name[0]获取姓名首字符,用toLowerCase()或toUpperCase()统一大小写后,判断是否匹配目标字符
  • 示例判断逻辑:customer.name[0].toLowerCase() === 'c'

条件2:地址无undefined字段

  • 地址为嵌套对象,需检查其下所有必填字段(如street、city、zip、state)均不为undefined
  • 示例判断逻辑:customer.address.street !== undefined && customer.address.city !== undefined && customer.address.zip !== undefined && customer.address.state !== undefined
  • 额外提示:若地址对象本身可能为undefined,需先判断customer.address !== undefined

条件3:城市为Peoria且州为AZ

  • 直接用点符号访问地址内的city和state属性,同时满足两个相等判断
  • 示例判断逻辑:customer.address.city === 'Peoria' && customer.address.state === 'AZ'

条件4:会员等级为GOLD或PLATINUM,若年龄小于29则SILVER也符合

  • 分两种场景判断:要么等级是GOLD/PLATINUM,要么等级是SILVER且年龄小于29
  • 示例判断逻辑:(customer.membershipLevel === 'GOLD' || customer.membershipLevel === 'PLATINUM') || (customer.membershipLevel === 'SILVER' && customer.age < 29)

整体筛选实现提示

  • 使用Array.filter()方法完成筛选(替代之前误用的Array.sort()),将所有条件用||连接作为筛选判断依据
  • 全程用点符号访问对象属性,无需单独定义回调函数,直接在filter参数中编写判断逻辑

客户对象数组结构参考

const customers = [
    {
        name: 'Sam',
        address: {
            street: '1234 W Bell Rd',
            city: 'Phoenix',
            zip: '85308',
            state: 'AZ'
        },
        membershipLevel: 'GOLD',
        age: 32
    },
    // 更多同结构客户对象
];

内容的提问来源于stack exchange,提问作者beebs9000

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.13 18:20:34