繁体   English   中英

JavaScript 从数组内的对象中获取一个属性

[英]JavaScript get one property from an object inside of an array

我有一组具有以下属性的电影对象:movieName、grade 和 position。 例如,这些对象看起来像:

var movies = [ { movieName: "bee movie", grade: 3, position 1},
               { movieName: "Shrek", grade: 5, position: 2} ];

我想获取一个对象的 movieName 属性。 为了决定我想要电影数组中的哪个对象,我创建了一个名为 arrayPosition 的变量,它是一个介于 0 和数组长度 - 1 之间的随机数:

arrayPosition = Math.floor(Math.random() * movies.length );

例如:

 var movies = [{ movieName: "Incredibles", grade: 4, position: 1 }, { movieName: "Bolt", grade: 5, position: 2 } ]; const arrayPosition = Math.floor(Math.random() * movies.length); console.log(movies[arrayPosition].movieName);

在这种情况下,我希望它根据 arrayPosition 是 0 还是 1 来控制“Incredibles”或“Bolt”,但它只控制未定义的控制台。

我见过类似问题的解决方案,但在这些情况下,对象在数组中的位置不是变量而是确定的数字。 由于某种原因,这种差异使它不起作用。 如何仅从数组中的对象获取 movieName 属性?

您的示例代码工作正常。

 var movies = [ { movieName: "bee movie", grade: 3, position: 1}, { movieName: "Shrek", grade: 5, position: 2}, { movieName: "Incredibles", grade: 4, position: 1}, { movieName: "Bolt", grade: 5, position: 2} ]; var arrayPosition = Math.floor(Math.random() * movies.length) console.log(movies[arrayPosition].movieName)

如果你知道你总是想在console.log数组中记录第二部电影的标题,你可以这样做:

 var movies = [ { movieName: "bee movie", grade: 3, position: 1}, { movieName: "Shrek", grade: 5, position: 2}, { movieName: "Incredibles", grade: 4, position: 1}, { movieName: "Bolt", grade: 5, position: 2} ]; var arrayPosition = 1 console.log(movies[arrayPosition].movieName)

请记住:

JavaScript 数组是零索引的:数组的第一个元素位于索引 0 处,最后一个元素位于等于数组长度属性值减 1 的索引处。

使用无效的索引号会返回 undefined。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM