繁体   English   中英

Javascript将数组中的嵌套对象转换为数组

[英]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#mapobject.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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM