![](/img/trans.png)
[英]How Can I .map() and Array that is nested inside an object, inside an array?
[英]How can I get to an array nested inside an object
我有一个对象数组,在这些对象中,有一个嵌套对象,其中包含一个我正在尝试评估的数组。 它看起来像这样:
item = [
{firstName: "John"
lastName: "Johnson"
capabilities: {demographic: Array(3), geographic: Array(3), language: Array(2)}
id: "ndja1-234-njk"
state: LA
}
{firstName: "Jane"
lastName: "Johnson"
capabilities: {demographic: Array(3), geographic: Array(3), language: Array(2)}
id: "ndsa1-234-njk"
state: TX
}
]
我试图筛选对象列表,只返回匹配用户输入任何名字,姓氏,PHONENUMBER,并且对象geographic
。 但是因为地理不在数组的第一级,所以当我尝试像这样过滤它时,我收到一个错误,提示为空:
const newList = (items, value) => {
let providerList = items.filter(i => i.firstName.includes(value) || i.lastName.includes(value) || i.phone.includes(value) || i.capabilites.geographic.includes(value));
setSearchResult(providerList)
};
我相信这是因为对象中地理值的位置,但我不确定如何处理等待它不为空。 在我添加地理 OR 语句之前,此函数一直有效。
试试这个解决方案。 这可能是问题,因为某些对象不包含其中的capabilities
。
const newList = (items, value) => {
let providerList = items.filter(i => i.firstName.includes(value) || i.lastName.includes(value) || i.phone.includes(value) || i.capabilites.geographic && i.capabilites.geographic.includes(value));
setSearchResult(providerList)
};
你有一个错字。 取而代之的i.capabilites
使用i.capabilities
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.