2017-02-10 30 views
-2

有什么方法可以对这个对象数组进行排序吗? :通过在键和值上循环来拆分对象的数组

[ RowDataPacket { new_path: '1481640456051.natedogg.jpg' }, 
RowDataPacket { new_path: '1486655771055.natedogg.jpg' }, 
RowDataPacket { tag_id: 170 }, 
RowDataPacket { tag_id: 171 }, 
RowDataPacket { tag_id: 169 }, 
RowDataPacket { tag_id: 172 }, 
RowDataPacket { id: 1, tags: 'myfirstTag' }, 
RowDataPacket { id: 4, tags: 'wrong' }, 
RowDataPacket { id: 31, tags: 'premier' }, 
RowDataPacket { id: 169, tags: 'west' }, 
RowDataPacket { id: 170, tags: 'WOWW' }, 
RowDataPacket { id: 171, tags: 'liopppp' }, 
RowDataPacket { id: 172, tags: 'daftpunk' }, 
RowDataPacket { id: 173, tags: 'dfgdfg' }, 
RowDataPacket { id: 174, tags: 'sport' }, 
RowDataPacket { id: 175, tags: 'hhdhd' }, 
RowDataPacket { id: 176, tags: 'sdfsdfee' } ] 

我想有两个数组,第一个的一切,直到最后tag_id和一个里面有idtags一个新的阵列。

我不知道如何正确使用.map。

+0

此数组无效。 –

+0

你是什么意思..你能解释更多..你的期望是什么? – challenger

+0

@challenger每个元素都应该存储在单独的对象中 - “{RowDataPacket:{tag_id:170}}”或者只是删除这些'RowDataPacket'。 –

回答

2

可使用数组filter方法,但你必须纠正你的数组语法:

var arr = [ { new_path: '1481640456051.natedogg.jpg' }, 
 
{ new_path: '1486655771055.natedogg.jpg' }, 
 
{ tag_id: 170 }, 
 
{ tag_id: 171 }, 
 
{ tag_id: 169 }, 
 
{ tag_id: 172 }, 
 
{ id: 1, tags: 'myfirstTag' }, 
 
{ id: 4, tags: 'wrong' }, 
 
{ id: 31, tags: 'premier' }, 
 
{ id: 169, tags: 'west' }, 
 
{ id: 170, tags: 'WOWW' }, 
 
{ id: 171, tags: 'liopppp' }, 
 
{ id: 172, tags: 'daftpunk' }, 
 
{ id: 173, tags: 'dfgdfg' }, 
 
{ id: 174, tags: 'sport' }, 
 
{ id: 175, tags: 'hhdhd' }, 
 
{ id: 176, tags: 'sdfsdfee' } ]; 
 

 
var arr1 = arr.filter(function(item) { 
 
\t return item.hasOwnProperty('tag_id'); 
 
}); 
 

 
var arr2 = arr.filter(function(item) { 
 
\t return item.hasOwnProperty('id') && item.hasOwnProperty('tags'); 
 
}); 
 

 
console.log(arr1, arr2)

如果您使用ES2015你也可以使用箭头功能来简化上面的代码:

var arr1 = arr.filter((item) => item.hasOwnProperty('tag_id')); 
var arr2 = arr.filter((item) => item.hasOwnProperty('id') && item.hasOwnProperty('tags')); 
+1

不应该是'&&'? –

+1

是的,谢谢@KindUser!修正:) –

+0

@BartekFryzowicz谢谢,它完美的作品! – pkerckho