You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

JavaScript遍历两个数组生成含随机数的对象数组实现方法

实现方案

两个数组长度一致时,按索引对位取值、组装对象即可,推荐两种常用写法:

写法1:map 简洁写法

无需手动声明空数组、手动push,直接遍历第一个数组,通过索引取第二个数组对应位置的元素即可:

let names1 = ["om","karan","ranjett","rocky"]
let names2 = ["vaibhu","Shrushti","rekha","kunal"]

const result = names1.map((currentN1, index) => ({
  n1: currentN1,
  n2: names2[index],
  // 此处生成0-99区间的随机整数,需要调整数值范围直接修改乘数即可,例如要0-100的整数就把100改成101
  randomnumber: Math.floor(Math.random() * 100)
}))

写法2:基础for循环写法

逻辑和上面完全一致,适合对JS高阶方法不熟悉的场景:

let names1 = ["om","karan","ranjett","rocky"]
let names2 = ["vaibhu","Shrushti","rekha","kunal"]
const result = []

// 以数组长度为遍历边界,两个数组等长时不会出现取值为空的问题
for (let i = 0; i < names1.length; i++) {
  result.push({
    n1: names1[i],
    n2: names2[i],
    randomnumber: Math.floor(Math.random() * 100)
  })
}

注意点

  • 两种写法输出的结果结构完全匹配给出的示例,每个对象独立对应一组同位置的name值+单独生成的随机数。
  • 如果两个数组长度不一致,遍历到短数组耗尽后就会停止,需要兼容不等长场景的话,可以先取两个数组长度的最大值作为遍历边界,缺失的位置赋值为undefined即可。

内容的提问来源于stack exchange,提问作者om pharate

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.27 18:48:54