javascript - JavaScript 从数组内的对象中获取一个属性
问题描述
我有一组具有以下属性的电影对象:movieName、grade 和 position。例如,这些对象看起来像:
var movies = [ { movieName: "bee movie", grade: 3, position 1},
{ movieName: "Shrek", grade: 5, position: 2} ];
我想获取一个对象的 movieName 属性。为了确定我想要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 的索引处。
使用无效的索引号返回未定义。
推荐阅读
- php - 如何将输入限制为两倍?
- vb.net - 我需要帮助将此 C# Linq 查询转换为 VB.net。我不太了解某些方面
- flutter - 为什么 SearchDelegate 的 buildSuggestion 方法不起作用?
- java - 使用哈希映射(键/值对)处理帖子表单的成语
- artifactory - Artifactory OSS版无维护操作
- angular - 当我在 Angular 中导航到其路由的子子项时,如何保持 mat-tab 处于活动状态?
- spring - Spring 工具套件:非空属性引用空值或瞬态值
- asp.net-mvc - 在 MVC/.Net Core 中使用“返回确定(等待结果)”是否可以?
- codenameone - iOS调试错误,调试证书生成
- laravel - Laravel $request->all() 为空