JS как подсчитать количество элементов объекта с указанными значениями
Подскажите, как подсчитать количество элементов объекта с указанными значениями. Для примера вот объект:
const bonusesStatus = {
1: {
isAccess: true,
bonusesLastUpdate: "2021-05-15T15:04:23.000Z",
bonusesNextAccess: "2021-05-15T15:04:23.000Z",
},
2: {
isAccess: true,
bonusesLastUpdate: "2021-05-15T15:04:23.000Z",
bonusesNextAccess: "2021-05-15T15:04:23.000Z",
},
3: {
isAccess: true,
bonusesLastUpdate: "2021-05-15T15:04:23.000Z",
bonusesNextAccess: "2021-05-15T15:04:23.000Z",
},
4: {
isAccess: false,
bonusesLastUpdate: "2021-05-15T15:04:23.000Z",
bonusesNextAccess: "2021-05-15T15:04:23.000Z",
},
5: {
isAccess: false,
bonusesLastUpdate: "2021-05-15T15:04:23.000Z",
bonusesNextAccess: "2021-05-15T15:04:23.000Z",
}
}
let countElementsObj = Object.keys(bonusesStatus).length;
console.log("Всего элементов в объекте =", countElementsObj);
console.log("Эементов с значением isAccess===false =")
Как подсчитать количество элементов с значением isAccess===false ?
Ответы (2 шт):
Автор решения: Bear Vorkuta
→ Ссылка
Через for in можно
const bonusesStatus = {
1: {
isAccess: true,
bonusesLastUpdate: "2021-05-15T15:04:23.000Z",
bonusesNextAccess: "2021-05-15T15:04:23.000Z",
},
2: {
isAccess: true,
bonusesLastUpdate: "2021-05-15T15:04:23.000Z",
bonusesNextAccess: "2021-05-15T15:04:23.000Z",
},
3: {
isAccess: true,
bonusesLastUpdate: "2021-05-15T15:04:23.000Z",
bonusesNextAccess: "2021-05-15T15:04:23.000Z",
},
4: {
isAccess: false,
bonusesLastUpdate: "2021-05-15T15:04:23.000Z",
bonusesNextAccess: "2021-05-15T15:04:23.000Z",
},
5: {
isAccess: false,
bonusesLastUpdate: "2021-05-15T15:04:23.000Z",
bonusesNextAccess: "2021-05-15T15:04:23.000Z",
}
}
let count = 0
for (keys in bonusesStatus) {
if (bonusesStatus[keys].isAccess === false) count++
}
let countElementsObj = Object.keys(bonusesStatus).length;
console.log("Всего элементов в объекте =", countElementsObj);
console.log("Эементов с значением isAccess===false =",count)
Автор решения: zhurof
→ Ссылка
const bonusesStatus = {
1: {
isAccess: true,
bonusesLastUpdate: "2021-05-15T15:04:23.000Z",
bonusesNextAccess: "2021-05-15T15:04:23.000Z",
},
2: {
isAccess: true,
bonusesLastUpdate: "2021-05-15T15:04:23.000Z",
bonusesNextAccess: "2021-05-15T15:04:23.000Z",
},
3: {
isAccess: true,
bonusesLastUpdate: "2021-05-15T15:04:23.000Z",
bonusesNextAccess: "2021-05-15T15:04:23.000Z",
},
4: {
isAccess: false,
bonusesLastUpdate: "2021-05-15T15:04:23.000Z",
bonusesNextAccess: "2021-05-15T15:04:23.000Z",
},
5: {
isAccess: false,
bonusesLastUpdate: "2021-05-15T15:04:23.000Z",
bonusesNextAccess: "2021-05-15T15:04:23.000Z",
}
}
let countElementsObj = Object.keys(bonusesStatus).length;
let noAccessCount = Object.values(bonusesStatus).filter(function(el){return el.isAccess === false}).length;
console.log("Всего элементов в объекте =", countElementsObj);
console.log("Эементов с значением isAccess===false =", noAccessCount);
Тащемто можно записать и короче: Object.values(bonusesStatus).filter(el=>!el.isAccess).length