js脚本处理中,有时候为了方便操作需要将js的对象转成数组,具体的转换方式有很多种,可以参考下面的转换方法!
js将对象中的键转成数组的方法
示例代码:
var obj = { "name": "mochu", "host": "feiniaomy.com", "age": "20", "sex": "男" }; //方案1 var arr = Object.getOwnPropertyNames(obj); console.log(arr); //方案2 var arr2 = Object.keys(obj); console.log(arr2);
控制台打印结果:
["name", "host", "age", "sex"]
js将对象中的值转成数组的方法
想要提取对象中的属性值,需要先得到它的键名,需要借助上面的方法!
示例1:
var obj = { "name": "mochu", "host": "feiniaomy.com", "age": "20", "sex": "男" }; //方案1 var arr = Object.getOwnPropertyNames(obj); var arr_val = arr.map(function (i) { return obj[i] }); console.log(arr_val) //方案2 var arr2 = Object.keys(obj); var arr_val2 = arr2.map(function (i) { return obj[i] }); console.log(arr_val2)
控制台打印结果:
["mochu", "feiniaomy.com", "20", "男"]
示例2:
var obj = { "name": "mochu", "host": "feiniaomy.com", "data": { "age": "20", "sex": "男" } }; var array = []; for (var key in obj) { array.push(obj[key]); } console.log(array);
打印结果:
["mochu", "feiniaomy.com", { age: "20", sex: "男" }]
js将对象转换成键与值对应存在的数组
示例1:JS简单的对象转换成数组的方法
var obj = { "name": "mochu", "host": "feiniaomy.com"}; var array = []; for (var key in obj) { array[key] = obj[key]; } console.log(array);
打印结果:
[name: "mochu", host: "feiniaomy.com"]
示例2:JS复杂的对象转换成数组的方法
var obj = { "name": "mochu", "host": "feiniaomy.com", "data": { "age": "20", "sex": "男" }}; var array = []; for (var key in obj) { array[key] = obj[key]; } console.log(array);
打印结果:
[name: "mochu", host: "feiniaomy.com", data: { age: "20", sex: "男" }]
注意:对于复杂点对象转成数组,转换的并不彻底,针对这种情况可以参考下面的示例!
示例3:
定义一个js对象转数组的函数
function objtoarray(obj){ var array = []; for (var key in obj) { //判断一下是否为对象 if (Object.prototype.toString.call(obj[key]) == '[object Object]') { array[key] = objtoarray(obj[key]); } else { array[key] = obj[key]; } } return array; }
调用函数
var obj = { "name": "mochu", "host": "feiniaomy.com", "data": { "age": "20", "sex": "男" } }; var array = objtoarray(obj); console.log(array);
PS:本篇里代码只是简单做了下测试,各位如果有需要,请测试好后再使用!
以上就是JS对象转成数组的方法好代码教程。真正的孤独不是一个人寂寞,而是在无尽的喧哗中丧失了自我。更多关于JS对象转成数组的方法好代码教程请关注haodaima.com其它相关文章!