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脚本将对象转为数组的方法,每个方法的作用都不相同,各位可以参考一下。