![](/img/trans.png)
[英]How can I copy elements from one array to another of a different type given a particular index in JavaScript?
[英]how to copy elements from one array to another array in javascript?
我有一个函数,它从arrayVariable
随机选择值并将它们分配给段落元素p [i]。
我想将随机选择的值复制到另一个数组b [i]。
我该怎么做?
function rvalue() { var arrayVariable = ['1', '2', '3', '4', '5'] arrayLength = arrayVariable.length; ptags = document.getElementsByName("values"); for (i = 0; i < ptags.length; i++) { ptags[i].innerHTML = arrayVariable[Math.floor(Math.random() * arrayLength)]; } }
p { font-size: 2xpx; color: #000000; }
<body onload="rvalue()"> <p name="values"></p> </div> <p name="values"></p> </div> <p name="values"></p> </div> </div>
要将文本插入HTML元素,最好使用textContent
而不是innerHTML
。
创建一个数组以在每次迭代中推送textContent
:
function rvalue() { var array = []; var arrayVariable = ['1', '2', '3', '4', '5'] arrayLength = arrayVariable.length; ptags = document.getElementsByName("values"); for (i = 0; i < ptags.length; i++) { ptags[i].textContent = arrayVariable[Math.floor(Math.random() * arrayLength)]; array.push(ptags[i].textContent); } console.log(array); }
p { font-size: 20px; color: #000000; }
<body onload="rvalue()"> <p name="values"></p> <p name="values"></p> <p name="values"></p> </body>
请注意:您的HTML没有打开div
元素, font-size
具有无效值(2xpx)。
它将通过index
在tempArray
存储值,您可以使用Array.push进行正常插入以替换tempArray[index] = arrayVariable[index];
tempArray.push(arrayVariable[index]);
如果您使用.push
方法可能会在array
获得重复值,那么只需使用此代码删除重复的条目
tempArray= tempArray.filter(function(val, i){
return tempArray.indexOf(val)== i;
});
function rvalue() { var arrayVariable = ['1', '2', '3', '4', '5'] arrayLength = arrayVariable.length; var tempArray = []; ptags = document.getElementsByName("values"); for (i = 0; i < ptags.length; i++) { var index = Math.floor(Math.random() * arrayLength); ptags[i].innerHTML = arrayVariable[index]; tempArray[index] = arrayVariable[index]; } console.log(tempArray); }
p { font-size: 2xpx; color: #000000; }
<body onload="rvalue()"> <p name="values"></p> </div> <p name="values"></p> </div> <p name="values"></p> </div> </div>
像这样
function randomizeParagraphs() {
var possibleValues = ['1', '2', '3', '4', '5'],
createdValues = [], // Empty array to store created values.
pTags = document.getElementsByName("values");
for (var i = 0; i < pTags.length; i++) {
var item = possibleValues[Math.floor(Math.random() * possibleValues.length)];
ptags[i].innerHTML = item;
createdValues.push(item);
}
// Log the created values.
console.log(createdValues);
}
嘿,你可以分配这样的获取值,
function rvalue() {
var arrayVariable = ['1', '2', '3', '4', '5']
arrayLength = arrayVariable.length;
arrRandomGeneratedValue = [];
ptags = document.getElementsByName("values");
for (i = 0; i < 5; i++) {
randomGeneratedValue = arrayVariable[Math.floor(Math.random() * arrayLength)];
ptags[i].innerHTML = randomGeneratedValue;
arrRandomGeneratedValue.push(randomGeneratedValue);
}
return arrRandomGeneratedValue;
}
rvalue();
好吧我不知道如果我理解但是如果你想保存随机值,请在你想用作存储的新数组变量中使用push方法。
function rvalue() {
var b = [];
var arrayVariable = ['1', '2', '3', '4', '5']
arrayLength = arrayVariable.length;
ptags = document.getElementsByName("values");
for (i = 0; i < ptags.length; i++) {
ptags[i].innerHTML = arrayVariable[Math.floor(Math.random() * arrayLength)];
b.push(ptags[i].innerHTML);
}
}
我希望这就是你要找的:P问候!
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.