Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/arrays/13.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 将函数参数传递到数组';s位置_Javascript_Arrays - Fatal编程技术网

Javascript 将函数参数传递到数组';s位置

Javascript 将函数参数传递到数组';s位置,javascript,arrays,Javascript,Arrays,在循环中增加数组的正确方法是什么?我传入了一个非零的数字,希望得到数组的正确起始位置 我可以使用eval使其工作: arrayPosition = "articleArray[" + (goTo - 1) + "][0]"; window.scroll(eval(arrayPosition), 0); 但我知道这不是正确的编码,现在我使用的是/“use strict”它将不再运行 我试过以下几种: var x = arrayPosition[goTo - 1][0]; window.scrol

在循环中增加数组的正确方法是什么?我传入了一个非零的数字,希望得到数组的正确起始位置

我可以使用eval使其工作:

arrayPosition = "articleArray[" + (goTo - 1) + "][0]";
window.scroll(eval(arrayPosition), 0);
但我知道这不是正确的编码,现在我使用的是
/“use strict”它将不再运行

我试过以下几种:

var x = arrayPosition[goTo - 1][0];
window.scroll(x,0);
但是这些不起作用

函数滚动到文章(参考、转到、显示部分){
//推荐人,需要转到
var showSection=(showSection的类型)!=“未定义”?showSection:false;
var tmpNum=Math.round(articleArray.length/2);
if(goTo!==tmpNum&&goTo!==articleArray.length){
arrayPosition=“articleArray[”+(goTo-1)+“][0]”;
滚动窗口(eval(arrayPosition),0);
}else if(goTo==tmpNum){
window.scrollTo(mainContentCenterScrollTo-(window.innerWidth/2),0);
}否则{
arrayPosition=“(articleArray[”+(goTo-1)+“][0])+(articleArray[”+(goTo-1)+“][1])”;
滚动到(eval(arrayPosition),0);
}

}
不需要eval,只需引用阵列即可:

var arrayPosition = articleArray[goTo - 1][0];
window.scroll(arrayPosition, 0);

很抱歉,这是我的错,如上所述,数组中的值是字符串而不是数字,这就是eval工作而[i-1]不工作的原因。

虽然这似乎合理,但这不正是OP所说的他们已经尝试过但没有成功的结果吗?“我尝试过
var x=arrayPosition[goTo-1][0];window.scroll(x,0);
的各种变体,但都不起作用。”我并没有找到更好的解决方案,但我想我应该提到它。@Santi-注意这篇文章中的名称变化与您所注意到的相比。@markschultheis是的,保留的
x
,但答案根本没有提到这一点。此外,或OP可以提供更多细节,因此我们不会猜测解决方案。@Santi不是x,而是OPs帖子中的
articleArray
与您的评论
arrayPosition
-这里不要挑剔任何人,只是细节很重要,即实际数组是什么,OP没有指定,但它似乎是问题的症结所在。您如何调用该函数?如果将
goTo
作为
string
而不是
integer
传递,则可能会出现这种行为。“在循环中增加数组的正确方法是什么”
。push
,因此该问题的措辞可能不正确?i、 e.引用循环中的数组位置?goTo的类型显示什么?请告诉我们调用函数的位置。
var x=arrayPosition[goTo-1][0]
是一个与“articleArray[”+(goTo-1)+“][0]”评估完全不同的对象(数组)
您想要哪个数组?