[英]Javascript convert nested objects in array to arrays
我需要一个嵌套数组,但是我有一个带有嵌套对象的数组。
我有的:
[
{ id: 1, title: 'title', value: 'test data'}
{ id: 2, title: 'title', value: 'test data'}
]
但是我需要:
[
[ 1, 'title', 'test data']
[ 2, 'title', 'test data']
]
您可以在其上执行.map(x => Object.values(x))
。
现场示例:
let src = [ { id: 1, title: 'title', value: 'test data'}, { id: 2, title: 'title', value: 'test data'} ]; let result = src.map(x => Object.values(x)); console.log(result);
您可以将Object.values
直接用作回调。
var data = [{ id: 1, title: 'title', value: 'test data' }, { id: 2, title: 'title', value: 'test data'}], result = data.map(Object.values); console.log(result);
.as-console-wrapper { max-height: 100% !important; top: 0; }
使用forEach
循环:
var obj = [ { id: 1, title: 'title', value: 'test data'}, { id: 2, title: 'title', value: 'test data'} ]; var arr = []; obj.forEach(function(o, k) { arr.push([o.id, o.title, o.value]); }); console.log(arr);
你可以尝试这样的使用Array#map
和object.values()
而你的代码有一些syntax error
缺少'
和,
var a = [{ id: 1, title: 'title', value: 'test data',}, { id: 2, title: 'title', value: 'testdata',}]; var n = a.map(a=>Object.values(a)) console.log(n)
您只需要使用Array.proptotype.map()方法和Object.values()来循环您的数组并返回所需的结果:
var results = data.map(function(item) {
var elem = [];
elem.push(Object.values(item));
return elem;
});
演示:
var data = [{ id: 1, title: 'title', value: 'test data' }, { id: 2, title: 'title', value: 'test data' } ]; var results = data.map(function(item) { var elem = []; elem.push(Object.values(item)); return elem; }); console.log(JSON.stringify(results));
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.