2017-02-10 7 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

관련 문제