首页 > 解决方案 > 没有数组时如何使用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只有一个值还是多个值。我怎么解决这个问题?你能给我任何信息或建议吗?

标签: javascript

解决方案


确保您始终拥有一个数组,如果没有,则将其转换为数组。您可以执行以下操作:

const sentenceArray = Array.isArray(sentence) ? sentence : [sentence];

然后像这样使用 sentenceArray :

sentenceArray.forEach(...

推荐阅读