IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁
 
   -> JavaScript知识库 -> js对象转换为数组的两种方法 -> 正文阅读

[JavaScript知识库]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. 都可以将对象转化为数组;
  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循环可返回对象的键名和值
  JavaScript知识库 最新文章
ES6的相关知识点
react 函数式组件 & react其他一些总结
Vue基础超详细
前端JS也可以连点成线(Vue中运用 AntVG6)
Vue事件处理的基本使用
Vue后台项目的记录 (一)
前后端分离vue跨域,devServer配置proxy代理
TypeScript
初识vuex
vue项目安装包指令收集
上一篇文章      下一篇文章      查看所有文章
加:2022-04-23 10:46:47  更:2022-04-23 10:49:19 
 
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁

360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年11日历 -2024/11/24 1:01:05-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码