Каков наилучший способ обработки массива, чтобы вырезать год для рендеринга в компоненте React

Внутри кода, в котором вы создаете строку, обратная косая черта сначала является символом escape-кода javascript, что означает, что escape-последовательности, такие как \t, \n, \" и т. д., будут переведены в их javascript-аналог (вкладка, новая строка, цитата и т. д.), и это будет сделано частью строки. Double-backslash представляет собой одиночную обратную косую черту в самой собственно строке, поэтому, если вам нужна обратная косая черта в строке, вы сначала избегаете ее.

Итак, когда вы создаете строку, говоря var someString = '(\\s|^)' re действительно делает создание фактической строки со значением (\s|^).

0
задан Amen Ra 13 July 2018 в 03:26
поделиться

2 ответа

Чтобы удалить часть года из вашего файла creation_date, вы можете использовать что-то вроде этого:

your_object.creation_date.split(", ")[0]; // creation_date lets say is "March 21, 2016"

Выход будет «21 марта».

Чтобы удалить все остальное другое чем год, использование может сделать это следующим образом:

your_object.creation_date.split(", ")[1];

Выход будет 2016.

Кроме того, в вашем методе getArchiveYear вы используете функцию array.map который возвращает массив. Вам нужно пройти через этот массив, чтобы показать результат.

getArchiveYear = () => {
const archiveYear = archives.data.map((data) => {
  return data.attributes.creation_date.split(", ")[1];
});
this.setState(() => ({
  archiveYear: archiveYear
})); 
}
0
ответ дан Farooq Hanif 17 August 2018 в 13:43
поделиться
  • 1
    этот строковый метод работал !!! – Amen Ra 13 July 2018 в 03:53
  • 2
    Я рад, что мой ответ был полезен. Пожалуйста, отметьте как ответ, если это то, что вы искали :) – Farooq Hanif 13 July 2018 в 04:01
  • 3
    Это уродливо, мы можем использовать функции времени – sumit 13 July 2018 в 04:02
  • 4
    что делает формат даты сильно зависеть от того, как даты сохраняются на стороне сервера, поскольку функция Date () Javascript преобразует даты в локальный часовой пояс пользователя. – Farooq Hanif 13 July 2018 в 04:03
  • 5
    [Д0] stackoverflow.com/questions/6002254/… – sumit 13 July 2018 в 04:05

Вы можете получить его с помощью getFullyear ()

https://www.w3schools.com/jsref/jsref_getfulear.asp

const archives = {
    "data": [{
            "id": 1,
            "type": "archive",
            "attributes": {
                "name": "Employee Engagement Summary",
                "description": "Report description goes here",
                "creation_date": "March 21, 2018",
                "date_range": "03/01/2018-05/15/2018",
                "data_sets": "Facility A, Nursing Department"
            }
        },
        {
            "id": 1,
            "type": "archive",
            "attributes": {
                "name": "Sample Survey 1",
                "description": "Report description goes here",
                "creation_date": "March 21, 2017",
                "date_range": "03/01/2017-05/15/2017",
                "data_sets": "Facility A, Nursing Department"
            }
        },
        {
            "id": 1,
            "type": "archive",
            "attributes": {
                "name": "Sample Survey 2",
                "description": "Report description goes here",
                "creation_date": "March 21, 2016",
                "date_range": "03/01/2016-05/15/2016",
                "data_sets": "Facility A, Nursing Department"
            }
        },
        {
            "id": 1,
            "type": "archive",
            "attributes": {
                "name": "Sample Survey 3",
                "description": "Report description goes here",
                "creation_date": "March 21, 2015",
                "date_range": "03/01/2015-05/15/2015",
                "data_sets": "Facility A, Nursing Department"
            }
        }
        ,
        {
            "id": 1,
            "type": "archive",
            "attributes": {
                "name": "Sample Survey 3",
                "description": "Report description goes here",
                "creation_date": "March 21, 2014",
                "date_range": "03/01/2014-05/15/2014",
                "data_sets": "Facility A, Nursing Department"
            }
        },
        {
            "id": 1,
            "type": "archive",
            "attributes": {
                "name": "Sample Survey 3",
                "description": "Report description goes here",
                "creation_date": "March 21, 2013",
                "date_range": "03/01/2013-05/15/2013",
                "data_sets": "Facility A, Nursing Department"
            }
        },
        {
            "id": 1,
            "type": "archive",
            "attributes": {
                "name": "Sample Survey 3",
                "description": "Report description goes here",
                "creation_date": "March 21, 2012",
                "date_range": "03/01/2012-05/15/2012",
                "data_sets": "Facility A, Nursing Department"
            }
        }
    ]
};

let arr=archives.data.map(a=>new Date(a.attributes.creation_date).getFullYear());
console.log(arr);

0
ответ дан sumit 17 August 2018 в 13:47
поделиться
Другие вопросы по тегам:

Похожие вопросы: