js遍历对象属性的一些方法有哪些_js面试遍历对象的所有属性

js遍历对象属性的一些方法有哪些_js面试遍历对象的所有属性1.Reflect.ownKeys()静态方法Reflect.ownKeys()返回一个由目标对象自身的属性键组成的数组。2.Object.entries(obj)Object.entries()方法返回一个给定对象自身可枚举属性的键值对数组,其排列与使用for…in循环遍历该对象时返回的顺序一致(区别在于for-in循环还会枚举原型链中的属性)。3.Object.fromEntr…


Jetbrains全系列IDE稳定放心使用

1.Reflect.ownKeys()

静态方法 Reflect.ownKeys()返回一个由目标对象自身的属性键组成的数组。

2.Object.entries(obj)

Object.entries()方法返回一个给定对象自身可枚举属性的键值对数组,其排列与使用for...in循环遍历该对象时返回的顺序一致(区别在于 for-in循环还会枚举原型链中的属性)。

3.Object.fromEntries()

Object.fromEntries() 方法把键值对列表转换为一个对象。

4.Object.is()

Object.is()方法判断两个值是否是相同的值。
如果下列任何一项成立,则两个值相同:

  • 两个值都是 undefined
  • 两个值都是 null
  • 两个值都是 true或者都是 false
  • 两个值是由相同个数的字符按照相同的顺序组成的字符串
  • 两个值指向同一个对象
  • 两个值都是数字并且
  • 都是正零 +0
  • 都是负零 -0
  • 都是 NaN
  • 都是除零和 NaN外的其它同一个数字

这种相等性判断逻辑和传统的 == 运算不同:
==运算符会对它两边的操作数做隐式类型转换(如果它们类型不同),然后才进行相等性比较,(所以才会有类似"" == false等于true的现象),但 Object.is不会做这种类型转换。

这与全等===运算符的判定方式也不一样。
===运算符(和==运算符)将数字值-0和 +0视为相等,并认为 Number.NaN不等于 NaN。

Object.is('foo', 'foo');     // true
Object.is(window, window);   // true

Object.is('foo', 'bar');     // false
Object.is([], []);           // false

var foo = { 
    a: 1 };
var bar = { 
    a: 1 };
Object.is(foo, foo);         // true
Object.is(foo, bar);         // false

Object.is(null, null);       // true

// 特例
Object.is(0, -0);            // false
Object.is(0, +0);            // true
Object.is(-0, -0);           // true
Object.is(NaN, 0/0);         // true
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/180023.html原文链接:https://javaforall.net

赞 (0)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • 使用javascript下载网络图片「建议收藏」

    使用javascript下载网络图片「建议收藏」**因为某些原因需要使用js下载网站上的图片,查了万恶的某度,结果解决方案都是一样的,试了试,果然不行。于是乎,上stackoverflow一查,答案就出来了。直接上代码,很简单,答案使用jquery,改成原生js也不难的**functiondownloadImage(src){vara=$("<a></a>").attr("href",…

    2022年6月2日
  • Ewebeditor最新漏洞及漏洞大全

    Ewebeditor最新漏洞及漏洞大全

    2021年12月7日
  • Vim查找命令及快捷键

    Vim查找命令及快捷键Vim查找命令及快捷键一、通过指令查找 1、左斜杠/ 从光标所在位置向文件尾搜索  例:/hello   2、问号? 从光标所在位置向文件头搜索  例:/hello   注:/和?均可加参数做指定查找(两者搜索方向不同,此处以/举例进行说明)    1) \<匹配单词的开头 \>匹配单词的结尾  例: \<hel

    2022年6月17日
  • RabbitMQ基础介绍与在java中使用-入门「建议收藏」

    RabbitMQ基础介绍与在java中使用-入门「建议收藏」前言:MQ做应用解耦,流量削峰这些是常识,RabbitMQ是实现了高级消息队列协议(AMQP)的开源消息代理软件(亦称面向消息的中间件)。RabbitMQ服务器是用Erlang语言编写的,而集群和故障转移是构建在开放电信平台框架上的。所有主要的编程语言均有与代理接口通讯的客户端库常用的主流的MQ有四个ActiveMQ:Apache下的一个子项目。使用Java完全支持JMS1.1和J2EE1.4规范的JMSProvider实现,少量代码就可以高效地实现高级应用场景。可插拔的传输协议支持,比如:

    2022年10月3日
  • ubuntu以root用户登录_ubuntu root登陆

    ubuntu以root用户登录_ubuntu root登陆一、设置root密码在桌面打开终端,或者使用ssh登录,(默认有一个登录账户)例如:sjlsjl1234561、输入命令:sudopasswdroot2、将会提示输入当前用户密码:3、提示输入新的Unix密码,此时输入要设置的root密码,提示输入新的Unix密码,此时再输入一次root密码。4、提示passwd.已成功更新密码,运行命令suroot,提示“密码:”此时输入刚刚设置的root密码回车,切换root用户成功。二、u…

    2022年10月28日
  • s3c2440裸机开发环境的搭建

    s3c2440裸机开发环境的搭建s3c2440裸机开发环境的搭建用于arm裸机程序开发的IDE基本有MDK,IAR,还有ADS,也可以选择在linux下安装交叉编译链来进行开发。笔者选择的是MDK作为我进行开发的IDE。下面介绍笔者搭建开发环境的过程。笔者主要参考了两篇博文来进行开发环境的搭建的,分别是:http://blog.csdn.net/mybelief321/article/details/8910528

    2022年5月20日

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号