总结几个对象转数组的方法

2 篇文章 0 订阅

目标效果:

obj = { 0: 'a', 1: 'b', 2: 'c' }
=> 
ayy=['a','b','c']

1、Array.from(object)

注:
1️⃣ object中必须有length属性,返回的数组长度取决于length长度
2️⃣ key 值必须是数值

2、Object.values(object)

注:与第一种不同的是不需要length属性,返回一个对象所有可枚举属性值

返回数组的成员顺序:
const obj = { 100: 'a', 2: 'b', 7: 'c' };  
Object.values(obj)  
// ["b", "c", "a"] 

3、Object.keys(object)

注:返回一个对象的自身可枚举属性组成的数组,数组中属性名的排列顺序和使用 for…in 循环遍历该对象时返回的顺序一致

4、Object.entries(object)

注:返回一个给定对象自身可枚举属性的键值对数组

const obj = { foo: 'bar', baz: 42 }; 
console.log(Object.entries(obj)); // [ ['foo', 'bar'], ['baz', 42] ]

5、使用 for…in…构建函数

function getObjectKeys(object) {
  let keys = []
  for(let property in object)
    keys.push(property)
    return keys
}
function getObjectValues(object) {
  let values = []
  for(let property in object)
    values.push(object[property])
    return values
}
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值