js中object转为数组的方法
墨初 Web前端 1609阅读
在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脚本将对象转为数组的方法,每个方法的作用都不相同,各位可以参考一下。