栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 面试经验 > 面试问答

具有默认值(等于Python的defaultdict)的Javascript数组?

面试问答 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

具有默认值(等于Python的defaultdict)的Javascript数组?

不,这在Javascript中是不可能的。顺便说一句,您当然是指 对象 (属性值映射)而不是数组。两种解决方案:

  • 将您的对象实现为

    Proxy
    ,旨在完全实现您想要的功能。但是,它只是一个草稿,目前仅在Firefox的Javascript 1.8.5中受支持。

  • 使用带有字符串参数而不是对象属性的getter函数。该函数可以在内部“字典”对象中查找输入键,并以编程方式处理未命中事件,例如,动态创建值或返回默认值。

当然,您可以为此类吸气剂功能建立工厂。

function defaultDict(map, default) {    return function(key) {        if (key in map) return map[key];        if (typeof default == "function") return default(key);        return default;    };}var a = defaultDict({cat: 1}, 0);console.log(a('cat')); // 1console.log(a('dog')); // 0


转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/645065.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号