javascript - 当数组为[“”]时,有什么方法可以显示0?
问题描述
我有一个使用 Object.keys(myData).map 迭代的对象
const data = Object.keys(myData);
const output = data.map(key => (
{myData[key].bad.length} //correctly shows 2 for "bad" on "Bravo", but will show 1 for "bad" on "Charlie" when the array is[""]
));
数据
{
"Alpha": {
"bad": ["0001-00"],
"good": ["0002-00", "0003-00", "0004-00"],
"percent": 10,
"optionOne": true,
"optionTwo": false
},
"Bravo": {
"bad": ["0002-11", "0003-01"],
"good": ["0002-14", "0005-06"],
"percent": 75,
"optionOne": true,
"optionTwo": true
},
"Charlie": {
"bad": [""],
"good": ["0131-00", "0007-13", "0001-92"],
"percent": 25,
"optionOne": true,
"optionTwo": false
}
}
我有这个来显示数组中有多少项,但是当它们数组是 [""] 时,它将显示 1。关于当数组为 [""] 时如何显示 0 的任何建议?
我的所有代码都在这里工作:https ://repl.it/repls/DapperHungryFraction
解决方案
您可以在获取长度之前过滤数组。
这会过滤掉空字符串:
myData[key].bad.filter(x=> x !== "").length;
推荐阅读
- javascript - 我在将事件监听器设置为按钮 JS 时遇到问题
- nginx - Nginx 子域重定向规则
- python - Conda 列表显示 python 包,但出现错误“找不到模块”
- java - 如何在特定时间后从 JFrame 类跳转
- javascript - 调用堆栈和事件循环 - 为什么要等待空堆栈?
- javascript - 为什么添加函数后总不会计算?
- c - 如何提高使用 void** 实现的动态数组的性能?
- r - 合并具有拼写错误变量的重复行
- swift - 在 Sirikit IntentHandler 中无法访问单例
- php - 通过 PHP 调用 WCF SOAP Web 服务时出错