javascript - 在 JavaScript 中使用 for 循环创建对象数组
问题描述
我想for
使用另一个数组中的值创建一个带有循环的对象数组。
下面的代码片段生成5
值,而不是6
(根据需要)
function generateArray() {
var names = ["Fariz", "Falisha", "Mami", "Defina", "Fiska", "Papi"];
var newObj = [];
for (i = 0; i < names.length - 1; i++) {
newObj[i] = {
name: names[(Math.floor(Math.random() * (names.length)))],
age: Math.floor(Math.random() * 40),
communication: Math.floor(Math.random() * 20),
skill: Math.floor(Math.random() * 20),
experience: Math.floor(Math.random() * 20)
}
}
return newObj;
}
console.log(generateArray());
如何生成与
names
数组中存在的值一样多的值?
解决方案
分辨率- 替换
i < names.length - 1
为i < names.length
for
循环
执行代码块的条件错误。您的代码工作正常,只产生比需要的少 1 个结果。
MDN 网络文档如何for
工作。
function generateArray() {
names = ["Fariz", "Falisha", "Mami", "Defina", "Fiska", "Papi"];
newObj = [];
for (i = 0; i < names.length; i++) {
newObj[i] = {
name: names[(Math.floor(Math.random() * (names.length)))],
age: Math.floor(Math.random() * 40),
communication: Math.floor(Math.random() * 20),
skill: Math.floor(Math.random() * 20),
experience: Math.floor(Math.random() * 20)
}
}
return newObj;
}
console.log(generateArray());
推荐阅读
- sql-server - 新 SQL 用户的 azure 应用程序性能变慢
- c# - C# selenium chromedriver 点击允许在此设备上存储文件
- c# - HTTP 错误 502.5 - 升级到 ASP.NET Core 2.2 后 ANCM 进程外启动失败
- java - 片段翻译和电话定位错误
- macos - 从 go 构建 vips 库的问题
- r - 从 R Markdown 编织时,如何创建额外的空白然后发表评论?
- php - Sapepay 表单集成:我在使用特定帐户时遇到了一些问题 - 错误代码:5080
- node.js - ExpressJS:如何将数据发送到 URL
- python-3.x - Python Selenium在网站上找不到href
- jquery - 链接不会打开引导模式