Javascript 我想写一个脚本,可以生成随机地址

Javascript 我想写一个脚本,可以生成随机地址,javascript,arrays,Javascript,Arrays,我想写一个脚本,可以生成随机地址。 例如: (34578 Dolphin Street, Wonka NY, 44506). 这就是我到目前为止所做的: var address var streetNumber = ['25489', '87459', '35478', '15975', '95125', '78965'] var streetName = ['A street', 'B street', 'C street', 'D street', 'E street', 'F st

我想写一个脚本,可以生成随机地址。 例如:

(34578 Dolphin Street, Wonka NY, 44506).
这就是我到目前为止所做的:

var address 

var streetNumber = ['25489', '87459', '35478', '15975', '95125', '78965']

var streetName = ['A street', 'B street', 'C street', 'D street', 'E street', 'F street',]

var cityName = ['Riyadh', 'Dammam', 'Jedda', 'Tabouk', 'Makka', 'Maddena', 'Haiel']

var stateName = ['Qassem State', 'North State', 'East State', 'South State', 'West State']

var zipCode = ['28889', '96459', '35748', '15005', '99625', '71465']

那我现在该怎么办

我建议利用
数组的
映射
连接
功能。在映射数组之前,只需创建一个函数,该函数接受数组并返回数组的随机元素,这可以通过选择介于0和数组大小-1之间的随机索引轻松完成

function getRandomElement(array) {
    // Math.random() does not include 1, so this range is from 0 to size - 1 
    return array[Math.floor(Math.random() * array.length)];
}
现在,要创建一个随机地址,您只需要将所有数组添加到另一个数组中,并使用上面的random函数映射这些数组。这将返回一个随机地址元素数组,您可以在该数组上使用
join
函数将数组的所有部分连接成一个字符串

var template = [streetNumber, streetName, cityName, stateName, zipCode];

function getRandomAddress() {
    return template.map(getRandomElement).join(" ");
}
您还可以在address元素之间添加所需的文本,只需确保返回的是
getRandomAddress
函数中的原样。请查看以下示例:

var streetNumber=[“25489”、“87459”、“35478”、“15975”、“95125”、“78965”];
var streetName=[“A街”、“B街”、“C街”、“D街”、“E街”、“F街];
var cityName=[“利雅得”、“达曼”、“吉达”、“塔布克”、“马克卡”、“马德纳”、“哈伊尔”];
var stateName=[“卡塞姆州”、“北部州”、“东部州”、“南部州”、“西部州”];
变量zipCode=[“28889”、“96459”、“35748”、“15005”、“99625”、“71465”];
变量模板=[streetNumber,”,streetName,“,”,cityName,“,stateName,”,“,zipCode];
函数getRandomAddress(){
返回template.map(getRandomElement).join(“”);
}
函数getRandomElement(数组){
if(array instanceof array)返回数组[Math.floor(Math.random()*array.length)];
else返回数组;
}
document.querySelector(“刷新”).addEventListener(“单击”,函数(){
document.querySelector(“输出”).textContent=getRandomAddress();
});
获取随机地址

我建议利用
数组的
map
join
功能。在映射数组之前,只需创建一个函数,该函数接受数组并返回数组的随机元素,这可以通过选择介于0和数组大小-1之间的随机索引轻松完成

function getRandomElement(array) {
    // Math.random() does not include 1, so this range is from 0 to size - 1 
    return array[Math.floor(Math.random() * array.length)];
}
现在,要创建一个随机地址,您只需要将所有数组添加到另一个数组中,并使用上面的random函数映射这些数组。这将返回一个随机地址元素数组,您可以在该数组上使用
join
函数将数组的所有部分连接成一个字符串

var template = [streetNumber, streetName, cityName, stateName, zipCode];

function getRandomAddress() {
    return template.map(getRandomElement).join(" ");
}
您还可以在address元素之间添加所需的文本,只需确保返回的是
getRandomAddress
函数中的原样。请查看以下示例:

var streetNumber=[“25489”、“87459”、“35478”、“15975”、“95125”、“78965”];
var streetName=[“A街”、“B街”、“C街”、“D街”、“E街”、“F街];
var cityName=[“利雅得”、“达曼”、“吉达”、“塔布克”、“马克卡”、“马德纳”、“哈伊尔”];
var stateName=[“卡塞姆州”、“北部州”、“东部州”、“南部州”、“西部州”];
变量zipCode=[“28889”、“96459”、“35748”、“15005”、“99625”、“71465”];
变量模板=[streetNumber,”,streetName,“,”,cityName,“,stateName,”,“,zipCode];
函数getRandomAddress(){
返回template.map(getRandomElement).join(“”);
}
函数getRandomElement(数组){
if(array instanceof array)返回数组[Math.floor(Math.random()*array.length)];
else返回数组;
}
document.querySelector(“刷新”).addEventListener(“单击”,函数(){
document.querySelector(“输出”).textContent=getRandomAddress();
});
获取随机地址

尝试生成随机数:
Math.floor(Math.random()*(max-min))+min

最小值应为0,最大值应为数组长度

然后你可以这样做:
address=streetNumber[myRandNumber(streetNumber)]


在myRandNumber函数中,根据参数数组的长度计算最大值:)

尝试生成随机数:
Math.floor(Math.random()*(max-min))+min

最小值应为0,最大值应为数组长度

然后你可以这样做:
address=streetNumber[myRandNumber(streetNumber)]


在myRandNumber函数中,根据参数数组的长度计算最大值:)

您可以尝试这样的方法来迭代数据,并在每个数组中添加一个

var streetNumber=['25489','87459','35478','15975','95125','78965']
var streetName=[“A街”、“B街”、“C街”、“D街”、“E街”、“F街”,]
var cityName=['Riyadh'、'Dammam'、'Jedda'、'Tabouk'、'Makka'、'Maddena'、'Haiel']
var stateName=['Qassem州'、'北州'、'东州'、'南州'、'西州']
变量zipCode=['28889','96459','35748','15005','99625','71465']
函数getRandom(输入){
返回输入[Math.floor((Math.random()*input.length));
}
函数createAddress(){
返回`${getRandom(streetNumber)}${getRandom(streetName)}${getRandom(cityName)}${getRandom(stateName)}${getRandom(zipCode)}`;
}
var address=createAddress();

控制台日志(地址)您可以尝试这样的方法来迭代数据,并在每个数组中添加一个

var streetNumber=['25489','87459','35478','15975','95125','78965']
var streetName=[“A街”、“B街”、“C街”、“D街”、“E街”、“F街”,]
var cityName=['Riyadh'、'Dammam'、'Jedda'、'Tabouk'、'Makka'、'Maddena'、'Haiel']
var stateName=['Qassem州'、'北州'、'东州'、'南州'、'西州']
变量zipCode=['28889','96459','35748','15005','99625','71465']
函数getRandom(输入){
返回输入[Math.floor((Math.random()*input.length));
}
函数createAddress(){
返回`${getRandom(streetNumber)}${getRandom(streetName)}${getRandom(cityName)}${getRandom