javascript - 没有数组时如何使用forEach [JavaScript]
问题描述
我想forEach
在 JavaScript 中使用。
sentence.forEach(function(value) {--------
当sentence
是一个数组时,forEach 可以正常工作。
{
"sentence": [
{
"word": [
{
"content": "tell"
},
{
"content": "me"
}
]
},
{
"word": [
{
"content": "do"
},
{
"content": "you"
},
{
"content": "want"
}
]
}
]
}
但是,当sentence
只有一个值并且不是数组时,forEach 不起作用,它会发出这样的错误消息。Uncaught TypeError: sentence.forEach is not a function
{
"sentence": {
"word": {
"content": "hello"
}
}
}
我从外部 API 获取 json 对象,所以我不知道是sentence
只有一个值还是多个值。我怎么解决这个问题?你能给我任何信息或建议吗?
解决方案
确保您始终拥有一个数组,如果没有,则将其转换为数组。您可以执行以下操作:
const sentenceArray = Array.isArray(sentence) ? sentence : [sentence];
然后像这样使用 sentenceArray :
sentenceArray.forEach(...
推荐阅读
- docker - 如何以简单的方式在不停机的情况下更换负载均衡器 Docker 容器
- entity-framework-core - _userManager.CheckPasswordAsync 在 net core 3.1 中抛出异常
- java - Problem running basic Spring Boot application
- python - Python 和 Pandas 对象赋值
- http - 如何解析 ETag 以在 If-None-Match 标头中使用
- python - 将一个 XML 文件的对象附加到另一个 XML 文件
- macos - 调用 finish() 时 OpenCL 崩溃
- java - 我被卡住了,试图制作一个回合制游戏,但在结束一个回合并开始一个新的回合时遇到了麻烦
- firebase - 如何在 firebase 数据库实时规则中限制用户只访问他们的消息?
- python - 绘制带有年龄和性别的密度图