Javascript 传递的数组的索引
如何检索所传递数组的索引?我目前使用的解决方案是发送索引,但这感觉不太对Javascript 传递的数组的索引,javascript,arrays,object,object-literal,Javascript,Arrays,Object,Object Literal,如何检索所传递数组的索引?我目前使用的解决方案是发送索引,但这感觉不太对 您可以使用Array.indexOf 没有真正的方法来满足你的要求。JavaScript纯粹是按值调用,这意味着在进行函数调用之前,参数会被完全计算。求值后剩下的就是最终值,并将其副本传递给函数 当然,您可以编写代码来搜索某个相对全局的数组中的值,但如果您只需将数组索引传递给函数,那将浪费CPU周期。您不能这样做,因为数组或索引没有传递给函数,甚至对象 从对象的arr属性中读取数组,然后从数组中读取对象,然后从该对象的x
您可以使用
Array.indexOf
没有真正的方法来满足你的要求。JavaScript纯粹是按值调用,这意味着在进行函数调用之前,参数会被完全计算。求值后剩下的就是最终值,并将其副本传递给函数
当然,您可以编写代码来搜索某个相对全局的数组中的值,但如果您只需将数组索引传递给函数,那将浪费CPU周期。您不能这样做,因为数组或索引没有传递给函数,甚至对象 从对象的
arr
属性中读取数组,然后从数组中读取对象,然后从该对象的x
属性中读取值,并使用该值调用函数
一旦进入函数,您就无法判断值是否来自对象的属性,或者对象是否存储在数组中,或者数组是否反过来是对象的属性。您传递的不是数组中的一个对象,而是一个数字?是的,下面的答案是关于钱的。你在上下文中具体想做什么?了解你为什么要这样做会有很大帮助。这是一个奇怪的要求,我怀疑你是在追求一个错误的目标。我试图划出一条线到上一个点。把这两个点传过去。这会更清楚。这似乎有效,即使值相同。但它与其他注释不符。@wubbewubbewubbewubbewubbewubbewubbewube这是因为让代码做额外的工作来查找其他地方已经找到的东西是疯狂的。
var obj = {arr: [{x: 1, y: 2},{x: 3, y: 4},{x: 5, y: 6}]};
function myFunction(myObj)
{
alert(myObj); // 5
// alert(the index of the array that is passed); // 2
}
myFunction(obj.arr[2].x);
var obj = {arr: [{x: 1, y: 2},{x: 3, y: 4},{x: 5, y: 6}]};
function myFunction(myObj)
{
alert(obj.arr.indexOf(myObj));
}
myFunction(obj.arr[2]);