【发布时间】:2018-03-10 03:50:09
【问题描述】:
我有如下值的对象数组,
{
[
{foo: a, bar: b}
]
}
我需要检查foo的数组对象成员的最后两个值是否至少包含一个'x',所以当数据像这样添加时,
{
[
{foo: a, bar: b},
{foo: x, bar: d},
{foo: e, bar: f}
]
}
它返回真, 但是,当数据仍然为空或小于 1 时,它会返回错误,因为 foo 尚未定义。
我尝试使用 array[length - 2].foo === 'x'? : tit() : tat() 之类的 if 语句进行检查,但由于它尚未定义/添加,但它仍未定义。
检查的正确方法是什么?奇怪的是,我也不能用else 困住它
【问题讨论】:
-
在处理数组之前添加对
length的检查。 -
我首先通过
if (array[0].foo)进行了检查,但仍然返回 undefined,因为尚未创建 array[0].foo
标签: javascript arrays function object conditional