无法在Javascript中的filter()之后获取值
我想获得过滤数组的值。在调试器中,它显示我可以在数组中找到值,该数组只返回一个结果,这是所需的,在我分配给另一个未定义的值之后,为什么? 我以前也用过同样的方法无法在Javascript中的filter()之后获取值,javascript,arrays,filter,Javascript,Arrays,Filter,我想获得过滤数组的值。在调试器中,它显示我可以在数组中找到值,该数组只返回一个结果,这是所需的,在我分配给另一个未定义的值之后,为什么? 我以前也用过同样的方法 let originalpost = raw.filter(a => a.id == id); // one record shown let topic = originalpost.title;// undefine 以前我是这样做的 let data = raw.filter(a => a.ParentItemI
let originalpost = raw.filter(a => a.id == id); // one record shown
let topic = originalpost.title;// undefine
以前我是这样做的
let data = raw.filter(a => a.ParentItemID == id);// an array of records retrieved
// later I can use its data....
// e.g. data.title ....
将始终为您获取一个对象数组。对于只获取一个值,您应该使用
下面是一个例子:
const值=[
{id:1,名称:“first”},
{id:2,名称:“second”}
];
log(values.filter(element=>element.id==2));
log(values.find(element=>element.id==2))代码>。筛选器返回数组中的结果,因此一个结果表示数组从0开始
因此
filter
将始终返回一个新数组。所以您可能需要originalpost[0]。title
。或使用。还有,也许检查一下你的拼写<代码>原件
或原件
?哦,这就是原因。谢谢谢谢大家,我犯了一个多么愚蠢的错误:)谢谢您的输入,我缺少[0]来获取数组的结果:)
let originalpost = raw.filter(a => a.id == id); // one record shown
let topic = originalpost[0].title;// undefine