如何使用 jQuery .each() 处理空对象
How to handle empty objects with jQuery .each()?
我遇到了麻烦,数组中的数组是空的。
我得到了两个数组,我将其推送到一个新数组中,因此我可以在新数组中使用jQuery .each()。新数组可以具有不同的状态:
包含空数组:
nextEvent = [[ ], [ ]]
包含两个完整的数组,每个数组包含一个对象:
nextEvent = [[object], [object]]
或者包含一个带有一个对象的完整数组:
nextEvent = [[object], [ ]]
nextEvent = [[ ], [object]]
现在我正在尝试在nextEvent
上使用 .each(),以便将现有对象数据附加到元素中。
到目前为止,我得到了一个看起来像这样的函数:
$.each(nextEvent, function(i, n){
if (nextFeedingTime || nextShowTime){
var time = n[0].Time.toString();
//...
if (nextFeedingTime && nextShowTime){
if (n[0].Kategorie === "Fütterung"){
appendFeeding();
} else {
appendShow();
}
} else if (nextFeedingTime && !nextShowTime){
appendFeeding();
} else if (!nextFeedingTime && nextShowTime){
appendShow();
}
} else {
//...
}
});
注意:nextFeedingTime
和nextShowTime
是我最初推送到nextEvent
的数组
这个函数可以工作,但是一旦一个数组为空,我就会收到n[0] is undefined
错误。任何想法如何解决这个问题?
添加以下内容:
if(n[0] !== undefined)
检查未定义的检查并继续。
更简单的方法,无需检查"未定义"
if(!n[0]){ }
相关文章:
- 处理对象数组并将它们以 4 个为一组进行分配
- 尝试在 JavaScript 中动态处理对象属性
- json.stringfy不处理对象方法
- 递归循环,直到我们'重新处理对象[JS]
- array.sort无法处理对象数组
- for循环未处理对象
- 如何在Angular中处理对象特性更改
- 如何在自执行匿名函数中处理对象
- 为什么我要声明handle["/"]在请求处理对象在HTTP服务器与node.js
- 如何处理对象属性内的事件函数
- 如何在预输入中处理对象
- 为什么在通过AJAX发送数据时,必须使用JSON.stringify()来处理对象?
- 如何处理对象收集中的数据
- 处理对象的ajax返回数组
- 使用unshift和pop序列处理对象数组
- 在JavaScript中处理对象和创建返回值的方法
- 通过四个异步调用收集数据到对象,并立即处理对象
- 如何处理对象字面量中的错误处理
- 在处理对象时需要帮助理解函数绑定
- Nodejs:如何处理对象之间的事件监听