没有数组时如何使用forEach[JavaScript]
我想在JavaScript中使用forEach 句子功能价值{---- 当句子是数组时,forEach可以正常工作没有数组时如何使用forEach[JavaScript],javascript,Javascript,我想在JavaScript中使用forEach 句子功能价值{---- 当句子是数组时,forEach可以正常工作 { "sentence": [ { "word": [ { "content": "tell" }, { "content": "me"
{
"sentence": [
{
"word": [
{
"content": "tell"
},
{
"content": "me"
}
]
},
{
"word": [
{
"content": "do"
},
{
"content": "you"
},
{
"content": "want"
}
]
}
]
}
然而,当句子只有一个值并且不是数组时,forEach不工作,它会发出如下错误消息
我从外部API获取json对象,所以我不知道句子是只有一个值还是有多个值。我如何解决这个问题?您能给我一些信息或建议吗?确保始终有一个数组,如果没有,则将其转换为数组。您可以执行以下操作:
const sentenceArray = Array.isArray(sentence) ? sentence : [sentence];
然后使用sentenceArray,如下所示:
sentenceArray.forEach(...
确保始终具有数组,如果没有,请将其转换为数组。您可以执行以下操作:
const sentenceArray = Array.isArray(sentence) ? sentence : [sentence];
然后使用sentenceArray,如下所示:
sentenceArray.forEach(...
如果数据不是数组,则可以使用将其转换为数组,或者保留该数组
[].concat(data).forEach(callback);
要使用这种方法,可以将其包装在函数getArray中
常数
getArray=value=>[]。concatvalue,
回调={word}=>
getArrayword.forEach{content}=>console.logcontent,
a={句子:[{word:[{content:tell},{content:me}]},{word:[{content:do},{content:you},{content:want}]},
b={句子:{单词:{内容:你好}}};
getArraya.station.forEachcallback;
getArrayb.Session.forEachcallback;如果数据不是数组,则可以将其转换为数组,或者保留该数组
[].concat(data).forEach(callback);
要使用这种方法,可以将其包装在函数getArray中
常数
getArray=value=>[]。concatvalue,
回调={word}=>
getArrayword.forEach{content}=>console.logcontent,
a={句子:[{word:[{content:tell},{content:me}]},{word:[{content:do},{content:you},{content:want}]},
b={句子:{单词:{内容:你好}}};
getArraya.station.forEachcallback;
getArrayb.Session.forEachcallback;有条件地拆分代码
if(Array.isArray(sentence)
{
//your foreach
}
else
{
//pick relevant properties from sentence object
}
有条件地拆分代码
if(Array.isArray(sentence)
{
//your foreach
}
else
{
//pick relevant properties from sentence object
}
有时返回数组,有时返回单个对象的API应取出并拍摄。有时返回数组,有时返回单个对象的API应取出并拍摄。不确定为什么被否决,这是一种同样有效的方法。不确定为什么被否决,这是一种同样有效的方法。谢谢非常感谢你的帮助。你能告诉我句子和[]之间的关系吗。concatdata?我如何使用[]。concatdata?非常感谢你的帮助。你能告诉我句子和[]。concatdata之间的关系吗?我如何使用[]。concatdata?非常感谢你的建议。我有一个问题。句子:[句子];这是什么意思?这是不是意味着如果句子不是数组,就把句子变成数组?@Kazuakizuki基本上是的。如果句子是数组,它将只使用句子值“原样”,否则它将通过执行[句子]生成一个包含单个元素的数组。如果你不熟悉这种写有条件作业的方式,你可以看看这里:@atarhan谢谢你的快速回复。我理解。非常感谢你的建议。我有一个问题。?句子:[句子];这是什么意思?这是不是意味着如果句子不是数组,就把句子变成数组?@Kazuakizuki基本上是的。如果句子是数组,它将只使用句子值“原样”,否则它将通过执行[句子]生成一个包含单个元素的数组。如果你不熟悉这种写条件作业的方式,你可以看看这里:@atarhan谢谢你的快速回复。我理解。