JavaScript1.8.5新特性系列Object.keys

以前在js-object这个分类里面也写过keys相关的api

 

JavaScript1.8.5中,加入了原生的Object.keys这个api

 

 

Object.keys(obj);

/*简单举例*/
Object.keys({"A":"a","B":"b"});      //["A","B"]

 

兼容性写法

 

 

if(!Object.keys){
    Object.keys = (function(){
         var hasOwnPrototype = Object.prototype.hasOwnPrototype,
               hasDontEnumBug = !({toString:null}).propertyIsEnumerable('toString'),
          dontEnums = [
                 'toString',
                 'toLocalString',
                 'valueOf',
                 'hasOwnProperty',
                 'isPrototypeOf',
                 'propertyIsEnumerable',
                 'constructor'
          ],
          dontEnumsLength = dontEnums.length;
          return function(obj){
                if(typeof obj !== 'object' && typeof obj !== 'function' || obj === null){
        throw new TypeError('Object.keys called on non-object')
                }  
                var result = [];
                for(var prop in obj){
                     if(hasOwnProperty.call(obj,prop)){
                             result.push(prop);
                     }
               }
               if(hasDontEnumBug){
                     for(var i =0;i<dontEnumsLength;i++){
                          if (hasOwnProperty.call(obj, dontEnums[i])){           
                                 result.push(dontEnums[i])                      
                          }
                     }
               }
               return result; 
          }
    })
}

 

浏览器支持情况

 


  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
centos8 needed by flatpak-1.8.5-5.el8_5.x86_64 是一个错误提示信息,提示我们在安装或升级 flatpak-1.8.5-5.el8_5.x86_64 时需要 CentOS 8 系统支持。 CentOS 是一个基于 Red Hat Enterprise Linux (RHEL) 的自由开源操作系统。该操作系统提供了稳定、可靠的平台,被广泛用于服务器和企业环境中。CentOS 8 是 CentOS 官方发布的第八个主要版本。 而 flatpak 是一个用于在 Linux 桌面环境中部署和运行应用程序的软件包管理工具。它提供了一个独立的、安全的、跨发行版的运行环境,使得开发者可以将应用程序打包为一个平台无关的包,方便在不同的 Linux 发行版上安装和运行。 该错误提示说明我们在安装 flatpak-1.8.5-5.el8_5.x86_64 这个软件包之前需要确保系统为 CentOS 8。这是因为 flatpak-1.8.5-5.el8_5.x86_64 是专门针对 CentOS 8 开发和编译的软件包,如果在其他系统上安装可能会导致不兼容或无法正常运行。 为了解决这个问题,我们应该先确保系统上已经安装了 CentOS 8。可以通过执行 `cat /etc/centos-release` 命令来检查系统版本。如果输出结果中包含 "CentOS 8" 字样,则表示系统为 CentOS 8。如果不是 CentOS 8,则需要升级或更换为 CentOS 8。 升级或更换操作系统的具体步骤取决于当前系统和使用的工具,通常可以参考 CentOS 官方文档或在线教程来进行操作。 总之,要解决错误提示 "centos8 needed by flatpak-1.8.5-5.el8_5.x86_64",我们需要将系统升级或更换为 CentOS 8,以便能够正确安装和运行 flatpak-1.8.5-5.el8_5.x86_64 软件包。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值