예를 들어,이 같은 배열이 있습니다배열에서 사용자 당 최신 항목을 선택하는 방법은 무엇입니까?
[
{
"data": "some data",
"user": "A",
"createdAt":"2016-12-24",
},
{
"data": "some data2",
"user": "B",
"createdAt":"2016-12-24",
},
{
"data": "some data3",
"user": "A",
"createdAt":"2016-12-25",
},
{
"data": "some data4",
"user": "A",
"createdAt":"2016-12-23",
},
{
"data": "some data5",
"user": "B",
"createdAt":"2016-12-25",
},
{
"data": "some data6",
"user": "C",
"createdAt":"2016-12-24",
},
]
나는 단 한 사용자 당 최신 만든 항목을 필요하므로이 같은 배열이 필요합니다
[
{
"data": "some data3",
"user": "A",
"createdAt":"2016-12-25",
},
{
"data": "some data5",
"user": "B",
"createdAt":"2016-12-25",
},
{
"data": "some data6",
"user": "C",
"createdAt":"2016-12-24",
},
]
내가 어떻게 할 수 밑줄이나 로다시가 있니?
좋은 솔루션입니다. 미래에 여기 올 사람들을 위해 추가 라이브러리없이 그것을 할 수있는 방법을 모색합니다. [prototype extension] (https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Array/sort)의 javascript (대부분의 브라우저에 내장되어 있습니다)의'sort()'메소드는,), 키의 정렬 방법의 속도를 높여 논리적으로 조금 더 빨라질 수 있습니다. –
고마워요, @ SamuelJackson. 두 번째 생각에서 우리는 "createdAt"속성이 항상 "YYYY-MM-DD"형식으로 제공된다고 확신 할 수 있다면 Date 객체를 제거 할 수 있습니다. 또한 ES2015를 사용할 수있는 경우 코드는 –
으로 표시됩니다. function getLatestItemsES6 (itemArray) { latestItems = []; (itemArray.sort ((a, b) => a.createdAt obj.user === item.user)) { latestItems.push (item); } } 반품 latestItems; } ' –