Как выполнить итерацию с использованием метки времени из массива объектов в реагировании - PullRequest
0 голосов
/ 23 января 2019

Я новичок в react-redux..Здесь у меня есть ответ, который выглядит так:

{
        "content": [{
            "id": "5b7d4a566c5fd005075051"
            "createdAt": 12345677,,
            "Name": "abc"
        },
        {
            "id": "5b7d4a566c5fd005075051"
            "createdAt": 12235677,
        },
        {
            "id": "5b7d4a566c5f0507501051"
            "createdAt": 123675677,
        }]
    }

Теперь, с этими данными я создаю таблицу, которая выглядит следующим образом:

{this.props.data && this.props.data.content && this.props.data.content.length > 0 && this.props.data.content.map((item, key) => {
              return (
                <tr key={key}>
                  <td className="font-weight-bold wc-30">{key + 1}</td>
                  <td>{item.Name}</td>
                </tr>
              )
            })}

Теперь у меня есть это createdAtкоторый является timeStamp.Итак, я хочу сделать эту таблицу в ascending order.Мол, то, что когда-либо будет создано не позднее, будет на первом месте.

Итак, я попробовал с одним

const sortedList = this.props.data.sort((a, b) => b.createdDate - a.createdDate); 

Но я туда не попал.Итак, кто-нибудь может мне помочь с этим?

Ответы [ 3 ]

0 голосов
/ 23 января 2019
json.sort((a, b) => { return a.createdAt - b.createdAt })

а-б не б-а.

0 голосов
/ 23 января 2019

Вот полный код с использованием функции sort () func

import React from "react";

var x = {
        "content": [{
            "id": "5b7d4a566c5fd005075051",
            "createdAt": 12345677,
            "Name": "abc"
        },
        {
            "id": "5b7d4a566c5fd005075051",
            "createdAt": 12235677,
            "Name": "d"
        },
        {
            "id": "5b7d4a566c5f0507501051",
            "createdAt": 123675677,
            "Name": "e"
        }]
    };
var y = x.content.sort((a,b)=>{
    return a.createdAt-b.createdAt
})

class Main extends React.Component {

render(){
    return(
        <table>
        <tbody>
                {y.map((item, key) => {
              return (
                <tr key={key}>
                  <td className="font-weight-bold wc-30">{key + 1}</td>
                  <td>{item.Name}</td>
                </tr>
              )
            })}

        </tbody>
        </table>
    )
}
}


export default Main;
0 голосов
/ 23 января 2019

В вашем списке не задано ни одной созданной даты.Попробуйте отсортировать по созданному Ат.

так:

let json = [{
    id: "5b7d4a566c5fd005075051",
    createdAt: 12345677,
    Name: "abc"
  },
  {
    id: "5b7d4a566c5fd005075051",
    createdAt: 12235677,
  },
  {
    id: "5b7d4a566c5f0507501051",
    createdAt: 123675677,
  }
]


const output = json.sort((a, b) => {
  return b.createdAt - a.createdAt
})
console.log(output)
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...