2017-01-26 3 views
0

배열 값을 OrderId 필드로 정렬하여 표시하려고합니다. ...React js를 사용하여 배열 정렬

var fields = 
    [{value: "Claims", OrderId:3 }, 
    {value: "Requests", OrderId:1 }, 
    {value: "Access", OrderId: 2}] 

var listElements = fields.sort('OrderId', function(n){ return Math.sin(n) }) 
    .map(function(field) { 
     return React.createElement('li', {}, 
      React.createElement('h2',{}, field.value) 

     ) 
    }) 
var rootElement = 
    React.createElement('div', {}, 
     React.createElement('ul', {}, listElements) 

    ) 

ReactDOM.render(rootElement, document.getElementById('container')); 

이 나에게 오류를 제공하지 않습니다 및 원하는 형식으로 값을 표시하지만, 분류되지 않은 어떻게 할 수있는 종류의 Reactjs의 세계 : 여기 내 코드는?

+2

음, sortBy 메소드의 위치는 어디입니까? –

+1

나는 이런 종류의 일에 lodash를 좋아합니다. https://lodash.com/docs/4.17.4#sortBy – Joao

+0

'OrderId : 3''에 이중 인용 부호가 있습니다. 코드에없는 오타가 있습니다. – luboskrnac

답변

2

먼저 필드 이름을 확인하십시오. 주문 번호 모든 3 개에 대해 문제가되지 않으며 추가 인용 부호도 제거하십시오.

은 그런 목적을 정렬, 난 sortBy 방법에 대해 잘 모릅니다, 당신은 쉽게 정렬 방법을 사용하여 아래 예제 코드를 체크 아웃하고 당신을 위해 작동하는지 알려 수 -

JS 바이올린 링크 - 를 https://jsfiddle.net/4kq4vbdw/

var fields = 
[{value: "Claims", OrderId:3 }, 
{value: "Requests", OrderId:1 }, 
{value: "Access", OrderId: 2}]; 

fields.sort(function(a,b){ 
return parseInt(a.OrderId) - parseInt(b.OrderId); 
}) 
console.log(fields); 
+0

감사합니다! – ElenaDBA

관련 문제