hi,欢迎访问本站!
当前位置: 首页Web前端正文

js中object转为数组的方法

墨初 Web前端 871阅读

在js脚本中想要将object(对象)转为array(数组)可以使用多种方法,其中最常用的方法有 Array.from,Object.values以及Object.keys等,下面73so博客就说一下各个方法的使用过程,供大家参考。

javascript 对象转数组的方法

1、Array.from js对象转数组的方法

Array.from()方法就是将一个类数组对象或者可遍历对象转换成一个真正的数组!

例:

// https://www.73so.com
json_str = {
    0: 'baidu.com', 
    1: 'siga.com',
    2: '73so.com',
    3: 'qq.com',
    'length': 4
};
arr = Array.from(json_str);
console.log(arr);

注:

(1)、使用array.from转换对象为数组时必须要有length属性

(2)、length 规定被转换后数组的元素数量,如不设置则转换为的数组为空

2、Object.values() js对象转数组的方法

Object.values()返回一个数组,其元素是在对象上找到的可枚举属性值。

var obj = {foo:'bar',baz: 42};
console.log(Object.values(obj)); 
// ['bar', 42]
var obj = { 0: 'a', 1: 'b', 2: 'c' };
console.log(Object.values(obj)); 
// ['a', 'b', 'c']
var an_obj = { 100: 'a', 2: 'b', 7: 'c' };
console.log(Object.values(an_obj)); 
// ['b', 'c', 'a']

3、Object.keys()js对象转数组的方法

Object.keys():返回一个由一个给定对象的自身可枚举属性组成的数组,数组中属性名的排列顺序和使用 for...in 循环遍历该对象时返回的顺序一致。

注:如果对象的键-值都不可枚举,那么将返回由键组成的数组。

例:

person = {name:"张三",age:25,address:"深圳"}
arr = Object.keys(person);
console.log(arr);
// ['name', 'age', 'address']
objs = [1,2,3,4,5,6];
arr2 = Object.keys(objs);
console.log(arr2);
// ['0', '1', '2', '3', '4', '5']

4、Object.entries js对象转数组的方法

Object.entries()方法返回一个给定对象自身可枚举属性的键值对数组。

例:

// https://www.73so.com
obj = { foo: 'bar', baz: 42 };
console.log(Object.entries(obj)); 
// [ ['foo', 'bar'], ['baz', 42] ]
obj = { 0: 'a', 1: 'b', 2: 'c' };
console.log(Object.entries(obj)); 
// [ ['0', 'a'], ['1', 'b'], ['2', 'c'] ]
anObj = { 100: 'a', 2: 'b', 7: 'c' };
console.log(Object.entries(anObj)); 
// [ ['2', 'b'], ['7', 'c'], ['100', 'a']]

ps:以上就是几个利用js脚本将对象转为数组的方法,每个方法的作用都不相同,各位可以参考一下。

声明:无特别说明,转载请标明本文来源!
相关推荐