IT TIP

Lodash를 사용하여 값별로 개체 배열 정렬

itqueen 2020. 11. 22. 21:01
반응형

Lodash를 사용하여 값별로 개체 배열 정렬


Lodash를 사용하여 '이름'값으로 배열을 정렬하려고합니다. Lodash 문서를 사용하여 아래 솔루션을 만들었지 만 .orderBy는 전혀 영향을 미치지 않는 것 같습니다. 누구든지 배열을 정렬하는 올바른 방법에 대해 밝힐 수 있습니까?

문자 배열

[  
   {  
      "id":25,
      "name":"Anakin Skywalker",
      "createdAt":"2017-04-12T12:48:55.000Z",
      "updatedAt":"2017-04-12T12:48:55.000Z"
   },
   {  
      "id":1,
      "name":"Luke Skywalker",
      "createdAt":"2017-04-12T11:25:03.000Z",
      "updatedAt":"2017-04-12T11:25:03.000Z"
   }
]

기능 코드

 var chars = this.state.characters;

 chars = _.orderBy(chars, 'name', 'asc'); // Use Lodash to sort array by 'name'

 this.setState({characters: chars})

이 메서드 orderBy는 입력 배열을 변경하지 않으므로 결과를 배열에 할당해야합니다.

var chars = this.state.characters;

chars = _.orderBy(chars, ['name'],['asc']); // Use Lodash to sort array by 'name'

 this.setState({characters: chars})

lodash sortBy ( https://lodash.com/docs/4.17.4#sortBy )를 사용할 수 있습니다 .

코드는 다음과 같을 수 있습니다.

const myArray = [  
   {  
      "id":25,
      "name":"Anakin Skywalker",
      "createdAt":"2017-04-12T12:48:55.000Z",
      "updatedAt":"2017-04-12T12:48:55.000Z"
   },
   {  
      "id":1,
      "name":"Luke Skywalker",
      "createdAt":"2017-04-12T11:25:03.000Z",
      "updatedAt":"2017-04-12T11:25:03.000Z"
   }
]

const myOrderedArray = _.sortBy(myArray, o => o.name)

참고 URL : https://stackoverflow.com/questions/43371092/use-lodash-to-sort-array-of-object-by-value

반응형