我需要一个嵌套数组,但是我有一个带有嵌套对象的数组。
我有什么:
[
{ id: 1, title: 'title', value: 'test data'}
{ id: 2, title: 'title', value: 'test data'}
]
但我需要:
[
[ 1, 'title', 'test data']
[ 2, 'title', 'test data']
]
答案 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#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)

答案 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));