js对象转换为数组的两种方法
第一种方法:
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的最后一条打印)
区别
- for-in 循环可以枚举原型链中的属性,而Object.values(obj)不可以。(示例1);
- 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对象转换为数组的两种方法相关推荐
- 知识点2:js(javascript)中检测是否为数组的两种方法【翻转数组案例】
javascript基础知识 文章目录 javascript基础知识 前言 一.翻转数组案例 二.检测数组的两种方法 1.如果传输的参数不是数组 2.instanceof 运算符 可以用来检测是否满足 ...
- php 带建数组转字符串,php数组转换为字符串的两种方法详解【附视频】
本篇文章主要给大家介绍PHP数组转换为字符串的两种方法.(文章末尾附有对应的视频教程) 第一种方法:使用PHP本身的函数implode来直接将数组转换为字符串. 第二种方法:使用循环遍历数组元素拼接成 ...
- iOS: JS和Native交互的两种方法,iosjsnative交互
iOS: JS和Native交互的两种方法,iosjsnative交互 背景: UIWebView: iOS 用来展示 web 端内容的控件. 1. 核心方法: - (NSString*)string ...
- 字符串html在线互转,将string 的字符串转换为HTML的两种方法
将string 的字符串转换为HTML的两种方法 采用jquery对象转换 采用原生javascript中DOMParser的parseFromString方法实现 1.采用jquery实现 var ...
- JS区分中英文字符的两种方法
JS区分中英文字符的两种方法: 正则和charCodeAt()方法. 正则无疑是最强大的判断各种条件的方法, 最近也在研习它, 虽然枯燥, 但仍有乐趣. 用它来判断一个双字节的中文字符也是轻而易举地. ...
- js循环添加事件的两种方法
js循环添加事件的两种方法 选择下拉列表中的一个li将文本传到框中 问题:写此二级菜单时用到的方法不好,对此进行优化 原始js代码: <script>// 思路:1.点击下拉框a时,ul中 ...
- html 点击事件阻止冒泡,js阻止事件冒泡的两种方法
本篇文章给大家分享的内容是关于js阻止事件冒泡的两种方法 ,有需要的朋友可以参考一下 一.冒泡事件简介 当我们点击一个控件的时候,如果包括这个控件的父控件也有click事件,则会继续执行. 方法一:e ...
- python遍历数组的两种方法及将print的内容写入文件中
python遍历数组的两种方法 第一种,最常用的,通过for in遍历数组 colours = ["red","green","blue"] ...
- 用new创建一个二维数组,有两种方法,是等价的
//用new创建一个二维数组,有两种方法,是等价的 一: int (*p)[10] = new int[5][10]; 二: int **p ...
最新文章
- linux uefo引导 win_基于UEFI和GPT模式下U盘安装windows8.1和Linux双启动教程
- 资金只够支撑10个月,自动驾驶致命事故重演:特斯拉陷入困境
- 大学计算机一条指令的执行过程实验,实验四 一条指令的执行过程
- form-data php,PHP 模拟form-data上传文件
- C++引入抽象基类和纯虚函数的作用和目的
- 实战|Python轻松实现动态网页爬虫(附详细源码)
- Python-OpenCV 处理图像(一):基本操作 cv2
- python怎么引入os模块的函数_Python里的OS模块常用函数说明
- 建立企业内部maven服务器并使用Android Studio发布公共项目
- RecyclerView通过notifyItemChanged方法更新item数据避免闪烁
- 突破asp过滤系统入侵网站
- USB协议 - UVC标准协议规范(二)
- 【个人学习记录】RoboWare Studio安装使用
- PowerPCB转Protel 99的详细教程
- matlab vgg图像风格迁移,迁移网络的应用-图像风格迁移
- 《道德经》「人法地 地法天 天法道 道法自然」
- Field userDao ....service.impl...'com.lzj.springcloud.dao.UserDao' that could not be found
- arcgis快速生成图框_arcgis制作图框及专题地图制作
- 红帽Linux系统管理员学习哪些内容?
- (转霄神)HM解码流程图
热门文章
- java欧元货币输出符号位置_java怎么输出货币符号
- VS2019清理C++工程的bat文件
- uniapp 自定义通知(耳机电量)插件 Ba-NotifyEarphone
- python数据挖掘分析微信朋友圈(调用itchat库)
- 小马哥---高仿苹果6sp 主板型号W9200 V3.0新版机型刷机拆机图
- Python操作Excel的一些基本程序代码
- 商标被驳回,先别慌!挽回商标有办法
- Windows10下使用PaddleHub OCR进行文字提取与识别
- 有的共享软件赚了一百万美元,而为什么你没有?我的软件推广成功之路
- XENIRO 讯琥科技应用案例(六)| 边缘计算和区块链推动智慧农业升级