JavaScript问题,它返回意外值
程序的目标是返回数组中某个位置的值。问题是它返回JavaScript问题,它返回意外值,javascript,undefined,Javascript,Undefined,程序的目标是返回数组中某个位置的值。问题是它返回未定义的 var ONE = ["a1", "b1", "c1", "d1"]; var TWO = ["a2", "b2", "c2", "d2"]; // ONCLICK function main() { var p = prompt("Choose the ONE variable array or the TWO variable array"); var l = parseInt(prompt("Choose de pos
未定义的
var ONE = ["a1", "b1", "c1", "d1"];
var TWO = ["a2", "b2", "c2", "d2"];
// ONCLICK
function main() {
var p = prompt("Choose the ONE variable array or the TWO variable array");
var l = parseInt(prompt("Choose de position of the value of that array"));
console.log(second(l));
second(p,l);
}
function second(p,l) {
if (p == "ONE")
i = 0;
while (i < 11){
if (ONE[i] == l){
return l;
}
i++;
}
if (p == "TWO")
i = 0;
while (i < 11){
if (TWO[i] == l){
return l;
}
i++;
}
}
varone=[“a1”、“b1”、“c1”、“d1”];
变量二=[“a2”、“b2”、“c2”、“d2”];
//ONCLICK
函数main(){
var p=prompt(“选择单变量数组或双变量数组”);
var l=parseInt(提示(“选择该数组值的位置”);
控制台日志(第二个(l));
第二(p,l);
}
第二功能(p,l){
如果(p=“一”)
i=0;
而(i<11){
如果(一[i]==l){
返回l;
}
i++;
}
如果(p=“两个”)
i=0;
而(i<11){
如果(两个[i]==l){
返回l;
}
i++;
}
}
不清楚位置是否是数组的索引。如果是的话,我会是那样的
var ONE = ["a1", "b1", "c1", "d1"];
var TWO = ["a2", "b2", "c2", "d2"];
function second(p,l) {
if (p === "ONE") {
return ONE[l];
}
if (p === "TWO") {
return TWO[l];
}
}
second("ONE", 0); // output "a1"
也许是一个更优雅的解决方案
const数组={
一:[“a1”、“b1”、“c1”、“d1”],
二:[“a2”、“b2”、“c2”、“d2”]
}
//ONCLICK
函数main(){
var p=prompt(“选择单变量数组或双变量数组”);
var l=parseInt(提示(“选择该数组值的位置”);
控制台日志(第二个(p,l));
第二(p,l);
}
常数秒=(p,l)=>数组[p][l];
main()
使用这段代码,您调用的函数的第一个参数是“p”,没有“l”(“l”是未定义的),因此当它计算结果时,它将返回未定义的。您第一次调用它时,只需将一个参数传递到
second()
。因此,将定义p
,但不会定义l
。。。。。你的控制台和它下面的线不匹配,。。。。。
console.log(second(l));