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

如何使用JavaScript获取对象中phone属性值的前两位字符

问题分析与解决方法

首先你现有的代码存在两个明显问题:

  1. 定义的数据结构语法非法:JavaScript中数组[]内不能直接写"key": {}格式的键值对,键值对仅能在对象{}中使用,需要先根据你的业务场景修正数据结构
  2. 取值逻辑错误:你没有定位到phone属性就直接调用字符串截取方法,自然无法拿到手机号的对应字符

步骤1:修正数据结构

场景1:你需要的是存储多个用户的数组结构

let userList = [
  {
    "login-attempt": 1,
    "name": "ADMIN",
    "phone": "0777123456"
  }
]

场景2:你需要的是带自定义key的用户映射对象

let userMap = {
  "key": {
    "login-attempt": 1,
    "name": "ADMIN",
    "phone": "0777123456"
  }
}

步骤2:提取手机号前两位

推荐使用标准字符串方法slice(substr属于遗留方法,不推荐继续使用):

  • 数组结构取值:userList[0].phone.slice(0, 2),返回结果为"07"
  • 映射对象取值:userMap["key"].phone.slice(0, 2),返回结果为"07"

步骤3:按手机号前两位匹配查找目标

如果需要从集合中筛选所有手机号前两位符合要求的对象,可直接用filter方法实现:

  • 数组结构筛选示例(筛选手机号前两位为07的用户):
const targetUsers = userList.filter(item => item.phone.slice(0, 2) === "07")
  • 映射对象结构筛选示例:
const targetUsers = Object.values(userMap).filter(item => item.phone.slice(0, 2) === "07")

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.26 09:54:03