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

时间:2017-04-21 09:12:59

标签: javascript jquery

我需要一个嵌套数组,但是我有一个带有嵌套对象的数组。

我有什么:

[
    { id: 1, title: 'title', value: 'test data'}
    { id: 2, title: 'title', value: 'test data'}
]

但我需要:

[
    [ 1, 'title', 'test data']
    [ 2, 'title', 'test data']
]

5 个答案:

答案 0 :(得分:6)

您可以对其执行.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);




答案 1 :(得分:3)

您可以使用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; }




答案 2 :(得分:1)

使用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);




答案 3 :(得分:0)

您可以使用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)




答案 4 :(得分:0)

您只需使用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));

相关问题