Loading [MathJax]/jax/output/CommonHTML/config.js
首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
社区首页 >问答首页 >在JavaScript中使用for循环创建对象数组

在JavaScript中使用for循环创建对象数组
EN

Stack Overflow用户
提问于 2018-08-25 01:09:34
回答 2查看 138关注 0票数 0

我想使用另一个数组中的值通过 for 循环创建一个对象数组。

下面的代码片段生成5值,而不是6 (根据需要)

代码语言:javascript
运行
AI代码解释
复制
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 数组中的值一样多的值?

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2018-08-25 01:44:44

解决方案-将i < names.length - 1替换为i < names.length

for循环中执行代码块的条件错误。你的代码运行得很好,只是生成的结果比需要的少了1个。

MDN web docs介绍了for的工作原理。

代码语言:javascript
运行
AI代码解释
复制
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());

票数 2
EN

Stack Overflow用户

发布于 2018-08-25 01:26:37

代码语言:javascript
运行
AI代码解释
复制
names = ["Fariz", "Falisha", "Mami", "Defina", "Fiska", "Papi"];

arob = [
    {
        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)
    }, 
    {
        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)
    }, 
    {
        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)
    }, 
    {
        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)
    }, 
    {
        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)
    }, 
    {
        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)
    }
];

在for循环中:i < names.length;,而不是i < names.length - 1;

代码语言:javascript
运行
AI代码解释
复制
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;
}

这将返回一个包含所有6个对象的数组。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/52013273

复制
相关文章
X509证书结构
version [0] EXPLICIT Version DEFAULT v1, --证书版本号
战神伽罗
2020/07/03
1.4K0
使用.net和x509证书实现安全
使用.net和x509证书实现安全 概述 主要针对目前xxx数据交换平台实现安全数据交换的设计方案;本方案通过PKI技术实现对报文加密,加签和证书的管理实现对数据交换安全的功能性需求. PKI技术介绍 PKI是"Public Key Infrastructure"的缩写,意为"公钥基础设施",是一个用非对称密码算法原理和技术实现的、具有通用性的安全基础设施。PKI利用数字证书标识密钥持有人的身份,通过对密钥的规范化管理,为组织机构建立和维护一个可信赖的系统环境,透明地为应用系统提供身份认证、数据保
阿新
2018/04/12
1.3K0
使用.net和x509证书实现安全
x509数字证书导入-然后删除自身
这种程序的使用场景,需要给客户一个证书,但不能把证书直接给他让他安装,程序中需要用到给客户的私钥,但又不允许客户将这个证书再去授权给其它人。
FreeTimeWorker
2020/08/31
7910
x509数字证书导入-然后删除自身
一个shell脚本,实现利用OpenSSL生成X509证书
一个shell脚本,实现利用OpenSSL生成X509证书 #!/bin/bash # Copyright (C) 2015 Nicolas TANDE # This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either ve
用户1503405
2021/10/29
9810
如何在 Linux 中删除 SSL 证书和 SSH 密码?
SSL 证书和 SSH 密码是在 Linux 系统中用于加密和保护通信的关键元素。然而,有时候我们需要删除这些敏感信息,可能是因为证书过期、重新生成密钥等原因。在本文中,我们将讨论如何在 Linux 中安全地删除 SSL 证书和 SSH 密码,并强调在处理这些敏感信息时需要注意的安全事项。
网络技术联盟站
2023/08/03
1.4K0
如何在 Linux 中删除 SSL 证书和 SSH 密码?
如何在Nginx不绑定域名下使用SSL/TLS证书?
该文主要记录如何在没有购买域名的情况下使用SSL/TLS协议,即地址前面的http变成了https。但是这样的SSL协议是会被浏览器认为是不安全的。在开发或者测试环境可以这样搞,生产环境下还是乖乖的买个域名吧。
Johnson木木
2021/01/05
4K0
Python + Pycrypto 加密模块的正确使用姿势
将此whl文件下载成功后,放置于目录:D:\python\python3.6.2\Scripts下【这个是我本地python安装目录,大家在实际操作过程中,替换为自己本地python的安装目录即可】
Wu_Candy
2022/07/05
1.8K0
Python + Pycrypto 加密模块的正确使用姿势
android 安装p12证书,如何在Android中使用p12证书(客户端证书)
我试图在android中使用客户端证书。 我得到了一个.p12文件,我想用它来对服务器进行身份验证。如何在Android中使用p12证书(客户端证书)
全栈程序员站长
2022/09/13
2.7K0
如何在EasyCVR中配置https证书实现语音对讲喊话?
EasyCVR作为一款功能完善的视频监控智能分析平台,支持多种协议的接入、多格式的视频流输出,除了国标GB28181、RTSP/Onvif协议接入外,还支持HIKSDK、大华SDK、Ehome等私有协议与SDK。随着安防视频监控市场的迅速发展,摄像机的功能也越来越丰富,其中语音对讲技术也在监控场景中发挥了极大的作用,前端设备也开始拥有了对讲功能。
TSINGSEE青犀视频
2022/06/21
5400
如何在知行之桥EDI系统中配置更新证书
在EDI系统中与交易伙伴实现数据传输时为保证数据的安全性,需要使用一对数字证书对数据进行签名和加密,但是在申请或购买证书时会给证书一个有限期,证书到期时,您需要重新申请或购买新的证书进行更新,那么在知行之桥中如何配置和更新证书呢?本文将介绍如何在知行之桥系统中配置和更新自己的证书,以及交易伙伴的证书。
知行软件EDI
2022/05/30
6960
如何在知行之桥EDI系统中配置更新证书
浅谈pycrypto加密模块
将此whl文件下载成功后,放置于目录:D:\python\python3.6.2\Scripts下【这个是我本地python安装目录,大家在实际操作过程中,替换为自己本地python的安装目录即可】
Wu_Candy
2022/07/04
1.1K0
浅谈pycrypto加密模块
pip 安装pycrypto神坑
I. 添加VC环境变量,设置用户环境变量,这里划重点!!!是用户环境变量,不是系统环境变量 II. 变量名:VCINSTALLDIR(变量值为vs安装路径下的VC,默认是这个) 变量值:C:\Program Files (x86)\Microsoft Visual Studio 14.0\VC III. win+R管理员运行cmd,执行命令 set CL=/FI"%VCINSTALLDIR%\INCLUDE\stdint.h" %CL% 参考https://blog.csdn.net/a624806998/article/details/78596543
一朵灼灼华
2022/08/05
1.3K0
pip 安装pycrypto神坑
如何在Debian 9中为Apache创建自签名SSL证书
TLS或传输层安全性及其前身SSL(代表安全套接字层)是用于将正常流量包装在受保护的加密包装中的Web协议。
苏子晨
2018/11/15
2.7K0
如何在Ubuntu 16.04中为Apache创建自签名SSL证书
TLS或传输层安全性及其前身SSL(代表安全套接字层)是用于将正常流量包装在受保护的加密包装中的Web协议。
藕丝空间
2018/09/28
1.9K0
如何在Ubuntu 16.04中为Nginx创建自签名SSL证书
TLS或称传输层安全性,及其前身SSL(代表安全套接字层)是用于将正常流量包装在受保护的加密包装中的Web协议。
不会飞的蝴蝶
2018/09/25
3.1K0
如何在 Apache APISIX Ingress Controller 中使用 Cert Manager 管理证书
Apache APISIX Ingress Controller 是一款以 Apache APISIX 作为数据面的 Kubernetes Ingress Controller 开源实现,目前已经更新到最新的 v1.3 版本,实现了如证书管理、负载均衡、金丝雀发布等功能。
Jintao Zhang
2021/11/08
8370
如何在Ubuntu 16.04上使用Let加密SSL证书配置GoCD
GoCD是一个功能强大的持续集成和交付平台,旨在自动化测试和发布流程。GoCD具有许多高级功能,例如比较构建,可视化复杂工作流以及自动构建版本跟踪,是一种灵活的工具,可以帮助团队将经过良好测试的软件提供给生产环境。
编程男孩
2018/09/21
1.2K0
【DB笔试面试511】如何在Oracle中写操作系统文件,如写日志?
可以利用UTL_FILE包,但是,在此之前,要注意设置好UTL_FILE_DIR初始化参数。
AiDBA宝典
2019/09/30
31.3K0
【DB笔试面试511】如何在Oracle中写操作系统文件,如写日志?
浅谈一下pycrypto加密模块
将此whl文件下载成功后,放置于目录:D:\python\python3.6.2\Scripts下
Wu_Candy
2023/09/02
6530
浅谈一下pycrypto加密模块
点击加载更多

相似问题

如何在PyCrypto中使用X509证书?

20

如何在java中打开X509证书?

14

X509证书-任意类型的主题标识符,如UUID

115

使用SAN创建X509证书

10

使用X509证书进行解密

21
添加站长 进交流群

领取专属 10元无门槛券

AI混元助手 在线答疑

扫码加入开发者社群
关注 腾讯云开发者公众号

洞察 腾讯核心技术

剖析业界实践案例

扫码关注腾讯云开发者公众号
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档