在JavaScript中的filter()之后无法获取值

问题描述 投票:0回答:2

我想获得过滤数组的值。在调试器中,它表明我可以在数组中找到该值,该值仅返回一个期望的结果,在我将另一个值赋给我未定义的值之后,为什么呢?我以前一直以相同的方式使用它。

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 ....

javascript arrays filter
2个回答
1
投票

Filter将始终为您提供对象数组。要仅获取一个值,应使用Find

以下示例:

const values = [
    {id:1, name:"first"},
    {id:2, name:"second"}
];

console.log(values.filter(element => element.id === 2));
console.log(values.find(element => element.id === 2));

0
投票

。filter返回数组中的结果,因此一个结果表示数组从0开始因此

let originalpost = raw.filter(a => a.id == id); // one record shown
let topic = originalpost[0].title;// undefine
© www.soinside.com 2019 - 2024. All rights reserved.