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

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

大家好,又见面了,我是你们的朋友全栈君。如果您正在找激活码,请点击查看最新教程,关注关注公众号 “全栈程序员社区” 获取激活教程,可能之前旧版本教程已经失效.最新Idea2022.1教程亲测有效,一键激活。

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)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • ruby语言是什么东西

    ruby语言是什么东西1、简介Ruby是日本的YukihiroMatsumoto写的,简单易学的面向对象的脚本语言,像perl一样,有丰富的文字处理、系统管理等丰富功能,但是ruby要简单,容易理解和扩充。跟pyth

    2022年8月5日
    7
  • quartusii器件库安装在哪里_candence添加封装库

    quartusii器件库安装在哪里_candence添加封装库近期陆续有客户,使用MAXII这款芯片,我当时安装quartus为了尽量小,便没有安装,只安装了cyclone器件。今天添加库的过程,记录一下:以Quartusii13.0sp1为例,添加MAXIICPLD到软件支持列表中1.以管理员身份运行QuartusII2.在tool下,点击installdevices…,如下图3.把相应版本的器件库下载下来(注意…

    2022年10月15日
    2
  • 特征工程

    特征工程

    2021年5月19日
    97
  • C++ 中的getline()函数用法详解

    C++ 中的getline()函数用法详解    遇到了要输入一行字符串的操作,我想除了fgets()的方法(fgets()用法链接),getline()也是可以的,但是我对getline的操作不熟悉,便查阅了很多资料,发现都说的很模糊,借这个机会我想彻底理清楚getline的用法;  网上有说getline有两种用法的,我在这总结一下,一、getline()用的比较多的用法 1) istrea…

    2025年6月1日
    2
  • B/S架构与C/S架构的区别

    B/S架构与C/S架构的区别

    2021年10月12日
    40
  • pycharm2021.11.3 激活【最新永久激活】

    (pycharm2021.11.3 激活)这是一篇idea技术相关文章,由全栈君为大家提供,主要知识点是关于2021JetBrains全家桶永久激活码的内容https://javaforall.net/100143.htmlIntelliJ2021最新激活注册码,破解教程可免费永久激活,亲测有效,上面是详细链接哦~6B1QWJC8H5-eyJsaWNlb…

    2022年3月28日
    53

发表回复

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

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