如何从对象数组中匹配指定变量并获取对应对象及属性
问题解答
先明确基础代码与变量:
const movieTitles = [ { movieId: "4820", movieName: "The Planet Of The Apes", }, { movieId: "0489", movieName: "Interstellar", }, { movieId: "6238", movieName: "The Dark Knight", }, ]; const matchId = "0489";
1. 在数组中查找包含matchId的目标对象
使用数组的find()方法,它会遍历数组并返回第一个满足匹配条件的对象,找不到则返回undefined:
const targetMovie = movieTitles.find(movie => movie.movieId === matchId);
2. 获取匹配对象的movieName等属性
找到目标对象后,直接通过点语法访问属性即可。建议先判断对象是否存在,避免出现undefined报错:
if (targetMovie) { console.log(targetMovie.movieName); // 输出 "Interstellar" // 同理可访问movieId等其他属性:targetMovie.movieId } else { console.log("未找到匹配的电影"); }
3. 动态变化的matchId验证是否匹配
使用数组的some()方法,它会返回布尔值,标识数组中是否存在至少一个匹配条件的元素:
function checkMatchExists(currentMatchId) { return movieTitles.some(movie => movie.movieId === currentMatchId); } // 调用示例 console.log(checkMatchExists("0489")); // 输出 true console.log(checkMatchExists("1234")); // 输出 false
每次matchId更新后,调用这个函数就能快速验证是否存在匹配项。
内容的提问来源于stack exchange,提问作者Jayden Doll
相关产品推荐
相关产品推荐

