gpt4 book ai didi

Javascript,数组传递 "undefined"

转载 作者:可可西里 更新时间:2023-11-01 14:54:24 26 4
gpt4 key购买 nike

<html>
<head>
<script>
function replacesrc() {
var array= new Array();
array[1,2,3,4]=document.getElementById("From").value.split(" ");
document.getElementById("map").src="https://maps.google.com/maps?f=d&amp;source=s_d&amp;saddr="+array[1]+"+"+array[2]+"+"+array[3]+",+North+Augusta,+SC&amp;daddr=Hilton+Head+Island,+SC&amp;geocode=FYn4_wEd4BQd-ym_ve9aOTP4iDGvGGPbsAEwOw%3BFfyU6wEdINAv-ymtGdOO3Hn8iDE9KKLreqblLA&amp;aq=1&amp;oq=hi&amp;sll=33.623768,-80.925293&amp;sspn=5.551464,10.129395&amp;hl=en&amp;mra=ls&amp;ie=UTF8&amp;t=m&amp;ll=32.88718,-81.37587&amp;spn=1.3416,1.24656&amp;output=embed"
document.getElementById("test").value=array[1,2,3,4];
}


</script>
</head>
<body>

<iframe id="map" width="425" height="350" frameborder="0" scrolling="no" marginheight="0" marginwidth="0" src="https://maps.google.com/maps?f=d&amp;source=s_d&amp;saddr=2000+Knobcone+Ave,+North+Augusta,+SC&amp;daddr=Hilton+Head+Island,+SC&amp;geocode=FYn4_wEd4BQd-ym_ve9aOTP4iDGvGGPbsAEwOw%3BFfyU6wEdINAv-ymtGdOO3Hn8iDE9KKLreqblLA&amp;aq=1&amp;oq=hi&amp;sll=33.623768,-80.925293&amp;sspn=5.551464,10.129395&amp;hl=en&amp;mra=ls&amp;ie=UTF8&amp;t=m&amp;ll=32.88718,-81.37587&amp;spn=1.3416,1.24656&amp;output=embed"></iframe>
<br />From: <input id="From" type="text" /> <button onClick="replacesrc()">Directions</button><input id="test" type="text" value="test" />

<br /><small><a href="https://maps.google.com/maps?f=d&amp;source=embed&amp;saddr=2000+Knobcone+Ave,+North+Augusta,+SC&amp;daddr=Hilton+Head+Island,+SC&amp;geocode=FYn4_wEd4BQd-ym_ve9aOTP4iDGvGGPbsAEwOw%3BFfyU6wEdINAv-ymtGdOO3Hn8iDE9KKLreqblLA&amp;aq=1&amp;oq=hi&amp;sll=33.623768,-80.925293&amp;sspn=5.551464,10.129395&amp;hl=en&amp;mra=ls&amp;ie=UTF8&amp;t=m&amp;ll=32.88718,-81.37587&amp;spn=1.3416,1.24656" style="color:#0000FF;text-align:left">View Larger Map</a></small>

</body>
</html>

这是我的代码。它一直将其作为未定义传递。有人可以帮我吗?我尝试了不同的方法来解决这个问题。但我还是不行。从我的 Angular 来看,我做对了,因为我放置了一个测试函数来查看它正在发送什么,我得到了完全相同的东西,但是当它把它放在 src 中时,它把它作为未定义的。

最佳答案

试试这个代替前两行。然后访问从 0 开始的元素,所以 array[0] 是第一项,array[1] 是第二项,依此类推

var array = document.getElementById("From").value.split(" ");

最后一行使用这个:

document.getElementById("test").value = array.join();

为什么?

array[1,2,3,4] 没有达到您的预期。这是相当不直观的。此处的逗号不允许您访问多个数组索引。

1,2,3,4 是一个使用奇怪的逗号 , 运算符三次的表达式。对于表达式 a,b ,表达式 a 被求值然后被丢弃。接下来 b 被求值,它成为逗号运算符的值。

1,2,3,4 == ((1,2),3),4
== (2,3),4
== 3,4
== 4

所以写array[1,2,3,4]实际上等同于array[4]

关于Javascript,数组传递 "undefined",我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12945803/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com