由于某种原因,我的 if 语句偶尔会抛出以下错误,但我不明白为什么:
Uncaught TypeError: Cannot read property 'includes' of null
这里;我也尝试反向重写它,但它仍然抛出 '.includes
',但有时它可以完美运行而不会出现错误?
if (['en','or', 'de', 'ur', 'bn', 'ch'].some(original_language => item.original_language.includes(original_language))) {
// content happens
}
<小时/>
更多相关代码:
jQuery.ajax({
url: "https://www.aworkingapi.com",
type: "GET",
},
success: function(data){
$.each(data.content, function (index, item) {
if (['en','or', 'de', 'ur', 'bn', 'ch'].some(original_language => item.original_language.includes(original_language))) {
html += "<div class="customContent">";
html += "<div class='original_language'><span class='b'>Lan:</span> " + item.original_language + "</div>";
// more content
},
dataType: 'json'
}
})
最佳答案
您的.original_language
可能在data.content
的某些item
中为null
,您可以打印出data.content
通过 console.log
,您可以看到没有 .original_language
的 item(s)
。
我建议您需要检查 .original_language
是否存在(并且它是一个数组)。
if (['en','or', 'de', 'ur', 'bn', 'ch'].some(original_language => item.original_language && item.original_language.includes(original_language))) {
// content happens
}
关于javascript - 'Uncaught TypeError: Cannot read property ' 的实例包含“null”,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47824309/