花潮论坛

搜索
热搜: 活动 交友 discuz
查看: 16|回复: 5

遍历JS对象所有属性键

[复制链接]
  • TA的每日心情
    擦汗
    2026-8-19 19:42
  • 签到天数: 1902 天

    [LV.Master]伴坛终老

    3310

    主题

    13万

    回帖

    29万

    积分

    管理员

    Rank: 9Rank: 9Rank: 9Rank: 9Rank: 9Rank: 9Rank: 9Rank: 9Rank: 9

    花潮帅哥鼠牛虎兔龙蛇马羊猴鸡狗猪多彩人生星月交辉奔放热烈海样胸怀春风拂面火热情怀优雅迷人神秘浪漫相遇之美鹰傲苍穹花好月圆紫色情节飞龙在天王者至尊大将风范音画大师天籁妙音共看流星风雨同行我心永远幸福快乐喜乐安康侠骨柔肠心想事成开朗大方花潮管理

    发表于 2026-8-19 19:45 | 显示全部楼层 |阅读模式

    请马上登录,朋友们都在花潮里等着你哦:)

    您需要 登录 才可以下载或查看,没有账号?立即注册

    x

    JS对象有两种类型的属性键:字符串和符号。符号(symbol)是一个特殊的属性键类型,for...in 会跳过它们:

    // 创建person对象
    let person = {
        name: '张三',
        age: 26,
        sex: '男',
    };
    
    let ID = Symbol('sId'); // 创建符号
    person[ID] = 1025; // person对象加入符号键值对(符号需置入方括号内)
    
    console.log(person[ID]); // -> 1025
    
    // 使用for...in遍历person对象
    for (let key in person) {
        console.log(key); // -> name, age, sex
    }
        

    可以看到,for...in 跳过了符号 ID 属性键。要取出所有的对象属性键,得使用 JS 内置的静态方法 Reflect.ownKeys()

    let person = {
        name: '张三',
        age: 26,
        sex: '男',
    };
    
    let ID = Symbol('sId');
    person[ID] = 1025;
    
    // 使用Reflect.ownKeys()方法获取person对象所有属性键
    const keys = Reflect.ownKeys(person);
    console.log(keys); 
    // -> Array(4)
    // -> 0: "name" 1: "age" 2: "sex" 3: Symbol(sId)
        

    Reflect.ownKeys() 方法以数组形式返回属性键,其中,符号属性键是 Symbol('sId') 创建的符号,记作Symbol(sId)(创建时的名称 sId 去掉引号,而非声明的变量 ID,读取键值时则使用 ID 变量)。

    获取对象的全部属性键对读取对象数据非常有帮助。如果不希望遗漏任何一个属性键及其对应的键值,Reflect.ownKeys() 方法无疑是简洁高效的。

    评分

    参与人数 3威望 +110 金钱 +220 经验 +110 收起 理由
    小辣椒 + 50 + 100 + 50 匠心独运,细节精致入微!
    霜染枫丹 + 30 + 60 + 30 匠心独运,细节精致入微!
    梦江南 + 30 + 60 + 30 匠心独运,细节精致入微!

    查看全部评分

  • TA的每日心情
    开心
    2026-8-19 09:36
  • 签到天数: 815 天

    [LV.10]以坛为家III

    589

    主题

    4万

    回帖

    10万

    积分

    贵宾

    Rank: 7Rank: 7Rank: 7Rank: 7Rank: 7Rank: 7Rank: 7

    花潮美女鼠牛虎兔龙蛇马羊猴鸡狗猪缤纷心情心曲飞扬花好月圆飞龙在天音画大师天籁妙音共看流星风雨同行我心永远喜乐安康花潮贵宾

    发表于 2026-8-19 20:01 | 显示全部楼层
    谢谢黑黑老师介绍遍历JS对象所有属性键,学习了。
    回复 支持 反对

    使用道具 举报

  • TA的每日心情
    开心
    2026-8-19 09:36
  • 签到天数: 815 天

    [LV.10]以坛为家III

    589

    主题

    4万

    回帖

    10万

    积分

    贵宾

    Rank: 7Rank: 7Rank: 7Rank: 7Rank: 7Rank: 7Rank: 7

    花潮美女鼠牛虎兔龙蛇马羊猴鸡狗猪缤纷心情心曲飞扬花好月圆飞龙在天音画大师天籁妙音共看流星风雨同行我心永远喜乐安康花潮贵宾

    发表于 2026-8-19 20:02 | 显示全部楼层
    祝黑黑老师七夕快乐,晚上嚎!
    回复 支持 反对

    使用道具 举报

  • TA的每日心情
    开心
    2026-8-19 00:23
  • 签到天数: 233 天

    [LV.7]常住居民III

    383

    主题

    4015

    回帖

    2万

    积分

    版主

    Rank: 7Rank: 7Rank: 7Rank: 7Rank: 7Rank: 7Rank: 7

    花潮美女鼠牛虎兔龙蛇马羊猴鸡狗猪七彩绚丽金剪刀开朗大方花潮版主

    发表于 2026-8-19 21:04 | 显示全部楼层
    马老师晚上好!您的上一个“遍历“贴我看了教程,有了一点理解,觉得知道一点还是有用的。这个先留存。

    感谢您的分享,祝七夕节快乐!
    回复 支持 反对

    使用道具 举报

  • TA的每日心情
    开心
    2019-11-25 21:11
  • 签到天数: 1 天

    [LV.1]初来乍到

    1538

    主题

    6万

    回帖

    13万

    积分

    管理员

    Rank: 9Rank: 9Rank: 9Rank: 9Rank: 9Rank: 9Rank: 9Rank: 9Rank: 9

    花潮美女鼠牛虎兔龙蛇马羊猴鸡狗猪多彩人生星月交辉奔放热烈海样胸怀春风拂面火热情怀优雅迷人神秘浪漫缤纷心情草莓情怀青草情怀蝴蝶情怀心曲飞扬星星情怀七彩绚丽活泼开朗女儿情怀男儿情怀鹰傲苍穹心香一瓣音画大师天籁妙音风雨同行我心永远喜乐安康中秋征文指尖上的流年花潮管理

    发表于 2026-8-19 21:14 | 显示全部楼层
    小辣椒欣赏加学习
    回复 支持 反对

    使用道具 举报

  • TA的每日心情
    开心
    2019-11-25 21:11
  • 签到天数: 1 天

    [LV.1]初来乍到

    1538

    主题

    6万

    回帖

    13万

    积分

    管理员

    Rank: 9Rank: 9Rank: 9Rank: 9Rank: 9Rank: 9Rank: 9Rank: 9Rank: 9

    花潮美女鼠牛虎兔龙蛇马羊猴鸡狗猪多彩人生星月交辉奔放热烈海样胸怀春风拂面火热情怀优雅迷人神秘浪漫缤纷心情草莓情怀青草情怀蝴蝶情怀心曲飞扬星星情怀七彩绚丽活泼开朗女儿情怀男儿情怀鹰傲苍穹心香一瓣音画大师天籁妙音风雨同行我心永远喜乐安康中秋征文指尖上的流年花潮管理

    发表于 2026-8-19 21:14 | 显示全部楼层
    感谢黑黑分享
    回复 支持 反对

    使用道具 举报

    您需要登录后才可以回帖 登录 | 立即注册

    本版积分规则

    小黑屋|手机版|Archiver|服务支持:DZ动力|huachaowang.com Inc. ( 蜀ICP备17032287号-1 )

    GMT+8, 2026-8-19 23:10 , Processed in 0.070625 second(s), 25 queries .

    Powered by Discuz! X3.4

    © 2001-2013 Comsenz Inc.

    快速回复 返回顶部 返回列表