如何将函数返回的数组复制到JavaScript中的另一个数组中
How do I copy an array returned by a function into another array in JavaScript?
我试图将函数内填充的数组返回到另一个数组,因此我可以将数组内的值用于幻灯片。
我的代码是: var flag = 0
var slideimages = new Array()
slideimages = readfile()
function readfile(){
//read data into array x
flag =1
return x
}
if(flag == 1){
//execute slideshow functions
}
//slideshow functions definitions (for timeout n picture index etc)
//using slideimages[index] to choose pic
有谁能帮我一下吗?我的幻灯片没有运行,我猜这是因为值没有被复制到slideimages[]
编辑:下面是我的代码:<html><head></head><body>
<div id="col1">
<img id="img_frame" class="lazy-img" name="slide1">
</div>
<div id="col2">
<img id="img_frame" class="lazy-img" name="slide2">
</div>
<div id="col3">
<img id="img_frame" class="lazy-img" name="slide3">
</div>
<div id="col4">
<img id="img_frame" class="lazy-img" name="slide4">
</div>
<div id="col5">
<img id="img_frame" class="lazy-img" name="slide5">
</div>
<script language="JavaScript1.1">
function getImages() {
var slideimages = new Array();
slideimages = readfile();
if(slideimages){
slideit1()
slideit2()
slideit3()
slideit4()
slideit5()
}
}
function readfile(){
var allText =[];
var Lines = [];
var txtFile = new XMLHttpRequest();
txtFile.open("GET", "urls.txt", true);
allText = txtFile.responseText;
txtFile.onreadystatechange = function()
{
if (txtFile.readyState == 4 && txtFile.status == 200)
{// Makes sure it's found the file.
allText = txtFile.responseText;
Lines = allText.split(/'r'n|'n/);
}
else {
//alert("Didn't work");
}
}
txtFile.send(null)
return Lines
}
var slideshowspeed1=3000
var slideshowspeed2=27000
var slideshowspeed3=70000
var slideshowspeed4=11000
var slideshowspeed5=50000
var whichimage1=0
var whichimage2=100
var whichimage3=300
var whichimage4=500
var whichimage5=700
function slideit1(){
if (!document.images)
return
document.images.slide1.src=slideimages[whichimage1]
if (whichimage1<slideimages.length-1)
whichimage1++
else
whichimage1=0
setTimeout("slideit1()",slideshowspeed1)}//slideit1()
function slideit2(){
if (!document.images)
return
document.images.slide2.src=slideimages[whichimage2]
if (whichimage2<slideimages.length-1)
whichimage2++
else
whichimage2=0
setTimeout("slideit2()",slideshowspeed2)}//slideit2()
function slideit3(){
if (!document.images)
return
document.images.slide3.src=slideimages[whichimage3]
if (whichimage3<slideimages.length-1)
whichimage3++
else
whichimage3=0
setTimeout("slideit3()",slideshowspeed3)}//slideit3()
function slideit4(){
if (!document.images)
return
document.images.slide4.src=slideimages[whichimage4]
if (whichimage4<slideimages.length-1)
whichimage4++
else
whichimage4=0
setTimeout("slideit4()",slideshowspeed4)}//slideit4()
function slideit5(){
if (!document.images)
return
document.images.slide5.src=slideimages[whichimage5]
if (whichimage5<slideimages.length-1)
whichimage5++
else
whichimage5=0
setTimeout("slideit5()",slideshowspeed5)}//slideit5()
</script>
</body>
</html>
我真的不知道为什么div在我的网页上不显示图像(其url在urls.txt文件)。
你真的不应该像那样嵌套函数。每次调用readfile时,它都会创建一个新的readfile函数对象,这是一个糟糕的设计,如果不小心,可能会使系统陷入困境。而且,你可以用更简洁的方式完成"flag"想要完成的事情。试试以下命令:
function getImages() {
var slideimages = readfile();
if (slideimages) {
// execute slideshow functions
},
function readfile() {
// read data into array x
return x;
}
你的问题可能是你如何实现"读取数据到数组x"。
相关文章:
- 如何遍历包含对象的数组-javascript
- 保存数组javascript
- 查找数组javascript中包含的元素类型
- 算法:从数组(javascript/angular)中按当前日期获取上一个和下一个事件
- 从多维数组javascript中提取特定值
- 如何在数组javascript中选择伪随机值
- 拆分字符串数组(JavaScript)后未定义
- 从数组JavaScript中删除并返回最后n个项的最快方法
- 使用条件for循环更新数组-Javascript
- 从数组javascript创建新对象
- 用数组(javascript)中的值替换regex捕获
- 从数组[Javascript]的总长度中减去一个干净的数字
- 将一个字符串数组解析为一个新的数组javascript
- 如何将对象转换为对象数组javascript
- 赢得't循环数组javascript
- 从不同的数组 JavaScript 中获取值
- 多维数组 JAVASCRIPT 出了点问题
- 可以't分配给一个对象数组javascript
- 比较数组JavaScript中的对象
- 如何完成缺少(连续)元素的数组|Javascript