javascript把json对象转为数组

转换前是这样的:


var articles = [{
    title: 'hello',
    content: 'hello world',
    created_at:'2017-08-30 13:45:15'
},{
    title: 'foo',
    content: 'foo bar',
    created_at:'2017-08-30 13:45:15'
}];

我想把它转成这样:

var articles2 = [
    [ 'hello', 'hello world', '2017-08-30 13:45:15' ],
    [ 'foo', 'foo bar','2017-08-30 13:46:06' ]
];

用js应该怎么做呢?

阅读 17.3k
9 个回答
var articles = [{
    title: 'hello',
    content: 'hello world',
    created_at:'2017-08-30 13:45:15'
},{
    title: 'foo',
    content: 'foo bar',
    created_at:'2017-08-30 13:45:15'
}]
var result = articles.map(item => {
  return Object.values(item)
})

articles.map(item => Object.values(item))

articles.map(item => Object.values(item))

var articles = [{
            title: 'hello',
            content: 'hello world',
            created_at: '2017-08-30 13:45:15'
        }, {
            title: 'foo',
            content: 'foo bar',
            created_at: '2017-08-30 13:45:15'
        }];
        let arr = [];
        articles.forEach(v=>{
            arr.push(Object.values(v))
        });
        console.log(arr)

ES5的话,可以这么写:

var articles = [{
    title: 'hello',
    content: 'hello world',
    created_at: '2017-08-30 13:45:15'
}, {
    title: 'foo',
    content: 'foo bar',
    created_at: '2017-08-30 13:45:15'
}];
articles=articles.map(function(item){
    var arr=Object.keys(item);
    return arr.map(function(prop){
        return item[prop]
    })
});
console.log(articles)

var articles = [{

title: 'hello',
content: 'hello world',
created_at:'2017-08-30 13:45:15'

},{

title: 'foo',
content: 'foo bar',
created_at:'2017-08-30 13:45:15'

}];
var result=[];
articles.map(function(data){

var list=[];
list[0]=data.title;
list[1]=data.content;
list[2]=data.created_at;
result.push(list);

})
console.log(result);

var articles2 = [];
articles.forEach(function(art) {
    articles2.push( Object.values(art) );
});

for in或者map等函数,遍历一下即可

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题