第一种方法:

Object.values(obj)

示例:
var obj = { name: '小明', age: 22 };
console.log( Object.values(obj) );  // ['小明', 22]

第二种方法:

for-in循环

示例:
var obj = { name: '小明', age: 22 };
var arr = [];
for(let i in obj) {arr.push (obj[i] )  //
}
console.log(arr);  // ['小明', 22]

相同点

  1. 都可以将对象转化为数组;
  2. 返回值都可以是对象的属性值;
  3. 也都可以将字符串转化为数组。(示例1的最后一条打印)

区别

  1. for-in 循环可以枚举原型链中的属性,而Object.values(obj)不可以。(示例1);
  2. for- in 的返回值可以是对象的属性名(键名)和属性值,而Object.values(obj)只返回属性值。(示例2)
示例1:var obj = { name: '小明', age: 22 };obj.__proto__.sex = '男';  //往原型链上插入一条属性var arr = [];for(let i in obj) {arr.push (obj[i] )  //}  console.log(arr);  // ['小明', 22, '男']cosole.log(Object.values(obj));  // ['小明', 22]cosole.log(Object.values(‘abc’));  // ['a, 'b', 'c']
示例2:var obj = { name: '小明', age: 22 };var arr = [];for(let i in obj) {// arr.push (obj[i] )  //返回属性值arr.push (i)  //返回键名}  console.log(arr);  // ['name', 22]cosole.log(Object.values(obj));  // ['小明', 22]

总结

这两种方法都可以将对象转化为数组,如果只是简单转换,Object.values(obj)更加简洁,如果想获取键名和原型链上的属性值,就可以用for- in循环。

返回值 是否能获取原型链上的属性
Object.values(obj) 只返回对象的值
for-in循环 可返回对象的键名和值

js对象转换为数组的两种方法相关推荐

  1. 知识点2:js(javascript)中检测是否为数组的两种方法【翻转数组案例】

    javascript基础知识 文章目录 javascript基础知识 前言 一.翻转数组案例 二.检测数组的两种方法 1.如果传输的参数不是数组 2.instanceof 运算符 可以用来检测是否满足 ...

  2. php 带建数组转字符串,php数组转换为字符串的两种方法详解【附视频】

    本篇文章主要给大家介绍PHP数组转换为字符串的两种方法.(文章末尾附有对应的视频教程) 第一种方法:使用PHP本身的函数implode来直接将数组转换为字符串. 第二种方法:使用循环遍历数组元素拼接成 ...

  3. iOS: JS和Native交互的两种方法,iosjsnative交互

    iOS: JS和Native交互的两种方法,iosjsnative交互 背景: UIWebView: iOS 用来展示 web 端内容的控件. 1. 核心方法: - (NSString*)string ...

  4. 字符串html在线互转,将string 的字符串转换为HTML的两种方法

    将string 的字符串转换为HTML的两种方法 采用jquery对象转换 采用原生javascript中DOMParser的parseFromString方法实现 1.采用jquery实现 var ...

  5. JS区分中英文字符的两种方法

    JS区分中英文字符的两种方法: 正则和charCodeAt()方法. 正则无疑是最强大的判断各种条件的方法, 最近也在研习它, 虽然枯燥, 但仍有乐趣. 用它来判断一个双字节的中文字符也是轻而易举地. ...

  6. js循环添加事件的两种方法

    js循环添加事件的两种方法 选择下拉列表中的一个li将文本传到框中 问题:写此二级菜单时用到的方法不好,对此进行优化 原始js代码: <script>// 思路:1.点击下拉框a时,ul中 ...

  7. html 点击事件阻止冒泡,js阻止事件冒泡的两种方法

    本篇文章给大家分享的内容是关于js阻止事件冒泡的两种方法 ,有需要的朋友可以参考一下 一.冒泡事件简介 当我们点击一个控件的时候,如果包括这个控件的父控件也有click事件,则会继续执行. 方法一:e ...

  8. python遍历数组的两种方法及将print的内容写入文件中

    python遍历数组的两种方法 第一种,最常用的,通过for in遍历数组 colours = ["red","green","blue"] ...

  9. 用new创建一个二维数组,有两种方法,是等价的

    //用new创建一个二维数组,有两种方法,是等价的      一:      int   (*p)[10]   =   new   int[5][10];      二:      int   **p ...

最新文章

  1. linux uefo引导 win_基于UEFI和GPT模式下U盘安装windows8.1和Linux双启动教程
  2. 资金只够支撑10个月,自动驾驶致命事故重演:特斯拉陷入困境
  3. 大学计算机一条指令的执行过程实验,实验四 一条指令的执行过程
  4. form-data php,PHP 模拟form-data上传文件
  5. C++引入抽象基类和纯虚函数的作用和目的
  6. 实战|Python轻松实现动态网页爬虫(附详细源码)
  7. Python-OpenCV 处理图像(一):基本操作 cv2
  8. python怎么引入os模块的函数_Python里的OS模块常用函数说明
  9. 建立企业内部maven服务器并使用Android Studio发布公共项目
  10. RecyclerView通过notifyItemChanged方法更新item数据避免闪烁
  11. 突破asp过滤系统入侵网站
  12. USB协议 - UVC标准协议规范(二)
  13. 【个人学习记录】RoboWare Studio安装使用
  14. PowerPCB转Protel 99的详细教程
  15. matlab vgg图像风格迁移,迁移网络的应用-图像风格迁移
  16. 《道德经》「人法地 地法天 天法道 道法自然」
  17. Field userDao ....service.impl...'com.lzj.springcloud.dao.UserDao' that could not be found
  18. arcgis快速生成图框_arcgis制作图框及专题地图制作
  19. 红帽Linux系统管理员学习哪些内容?
  20. (转霄神)HM解码流程图

热门文章

  1. java欧元货币输出符号位置_java怎么输出货币符号
  2. VS2019清理C++工程的bat文件
  3. uniapp 自定义通知(耳机电量)插件 Ba-NotifyEarphone
  4. python数据挖掘分析微信朋友圈(调用itchat库)
  5. 小马哥---高仿苹果6sp 主板型号W9200 V3.0新版机型刷机拆机图
  6. Python操作Excel的一些基本程序代码
  7. 商标被驳回,先别慌!挽回商标有办法
  8. Windows10下使用PaddleHub OCR进行文字提取与识别
  9. 有的共享软件赚了一百万美元,而为什么你没有?我的软件推广成功之路
  10. XENIRO 讯琥科技应用案例(六)| 边缘计算和区块链推动智慧农业升级