Как подсчитать значение массива

Есть 3 массива, в этом значении я должен считать _activityStatus: "I" (любое значение I). один из способов, которым я пытаюсь

    StepsStatus :[]

    StepsStatus = StepsVaue.map(StepsVaue => {
          return StepsVaue._activityStatus;
    }); 

Я беру все _activityStatus в StepsStatus. Теперь мне нужно считать только то, что я ценю.

currentNextActivity: Array(3)
    0:
    __typename: "CurrentNextActivity"
    _activityName: "FXL_ACT1"
    _activityStatus: "I"
    _maxHoldTime: "60"
    _userName: "tecnotree"

   1:
    __typename: "CurrentNextActivity"
    _activityName: "FXL_ACT2"
    _activityStatus: "I"
    _maxHoldTime: "60"
    _userName: "tecnotree"
    __proto__: Object

    2:
    __typename: "CurrentNextActivity"
    _activityName: "FXL_ACT3"
    _activityStatus: "N"
    _maxHoldTime: "120"
    _userName: null

Спасибо

Поведение ключевого слова "this" в стрелочной функции в сравнении с нормальной функцией
Поведение ключевого слова "this" в стрелочной функции в сравнении с нормальной функцией
В JavaScript одним из самых запутанных понятий является поведение ключевого слова "this" в стрелочной и обычной функциях.
Концепция локализации и ее применение в приложениях React ⚡️
Концепция локализации и ее применение в приложениях React ⚡️
Локализация - это процесс адаптации приложения к различным языкам и культурным требованиям. Это позволяет пользователям получить опыт, соответствующий...
Навигация по приложениям React: Исчерпывающее руководство по React Router
Навигация по приложениям React: Исчерпывающее руководство по React Router
React Router стала незаменимой библиотекой для создания одностраничных приложений с навигацией в React. В этой статье блога мы подробно рассмотрим...
Массив зависимостей в React
Массив зависимостей в React
Все о массиве Dependency и его связи с useEffect.
0
0
426
2
Перейти к ответу Данный вопрос помечен как решенный

Ответы 2

Ответ принят как подходящий

Вы можете использовать array.filter() для создания нового массива, используя только элементы, соответствующие определенному условию.

let iValues = StepsVaue.filter((item) => {
   return item._activityStatus === "I"
})

console.info(iValues.length)

Вы также можете использовать array.reduce(), как предложил Даймонд, просто не забудьте определить значение по умолчанию, иначе ваш результат может быть не таким, как вы ожидаете. :)

StepsVaue.reduce((total, item) => total + (item._activityStatus === "I" ? 1 : 0), 0)

не могли бы вы помочь мне с этим stackoverflow.com/questions/56424607/…

Abhigyan Gaurav 03.06.2019 11:48

Вы можете использовать функцию filter() для фильтрации элементов.

StepsValue.filter(item => item._activityStatus === "I").length

Или вы можете использовать функцию reduce()

StepsValue.reduce((count, item) => count + (item._activityStatus === "I" ? 1 : 0), 0)

I prefer to use reduce() because it will use less memory than filter().

Удачи.

Другие вопросы по теме