javascript - 在要计数的对象经常变化的模型中计数属性
问题描述
对于给定的场景,我需要计算items
给定字段中的数量。下面应该能更好地反映。
resource = {
name1 : [1,2,3,4],
name2 : [a,b,c]
}
但有时它看起来像
resource = [1, 2, c, 8]
我正在努力掌握的是如何在一个函数中获得每个场合的项目总数。我对如何做到这一点感到满意,但我需要尝试制作一个可以接受两者并返回我正在寻找的结果的函数。
对于此示例,第一个场景将是 7 items
,第二个场景将返回 4items
解决方案
您可以使用Object.values()
, 和Array.concat()
将resource
对象的属性转换为单个数组。这不会影响resource
数组。然后得到长度。
const resource1 = {
name1 : [1,2,3,4],
name2 : ['a','b','c']
}
const resource2 = [1, 2, 'c', 8];
const countItems = (obj) => [].concat(...Object.values(obj)).length;
console.log(countItems(resource1)); // 7
console.log(countItems(resource2)); // 4
推荐阅读
- php - php 路由不包括 routes.php 文件
- django - 使用 agregates 计算并保存在 django 上的表字段中
- r - 字符串到数字的转换
- r - 将多个具有 R 中名称的 Excel 文件作为列表导入
- c - C语言声明
- javascript - 如何通过 touchspin 连续更改 div 的大小
- r - R中没有Y变量的分组条形图
- xml - 如何在 Powershell 中使用 Select-Xml 打印 xml 节点元素的内容?
- anypoint-studio - 无法从项目库(jar)中引用 Mule 4 dataweave 中的 DWL 脚本文件
- python - 如何更新大型 mongodb 集合?