2017-10-10 98 views
1

让说我有一个数组: -Javascript:如何将具有特定索引的数组传递给函数?

var arr = [0,1,2,3,4] 

我需要通过只有“1”和“4”的

function func1(onlyArray){ 
    //Do Stuff... 
} 

的功能我已经试过这两个,但两者也不要工作

func1(arr[1,4]) 
func1(arr[[1],[4]]) 

任何人都可以给我正确的方式或给我一些关键字吗?

+2

'FUNC(ARR [1],编曲[4] )' – wostex

+0

@wostex但函数只接受一个参数,这会作为两个参数检测吗? – vbnewbie

+0

@vbnewbie,使用这个:'func([arr [1],arr [4]])' –

回答

6

您可以使用此: func([arr[1], arr[4]])

我们正在以指数1和阵列arr4采取的元素,创造与那些元素的数组。然后我们将这个新创建的数组传递给func

1

如果你需要一个单一的阵列,而不是2,使用:

var arr = [0,1,2,3,4]; 
 

 
function func1(onlyArray){ 
 
    //Do Stuff... 
 
    console.log(onlyArray); // [1, 4] 
 
} 
 

 
func1(arr.filter((item,index) => index === 1 || index === 4));

+0

'[arr [1],arr [4]]'更简单了,为什么不使用它呢? – Taurus

+1

@Taurus,他只是提供了另一种解决方案。 –

+0

@ Alexandru-IonutMihai Oh – Taurus

0

所以使用阵列:

var arr = [0,1,2,3,4];

和你的函数:

function myFunction(newArr){ //Do stuff console.log(newArr); };

你可以用你想各自为阵的内部使用数组索引,当你调用该函数,如下所示:

myFunction([arr[1], arr[4]]); //Output is [1, 4]

+0

这与@Taurus的答案有何不同? – chazsolo

+1

不是。他们的回答比我的评论更为简短。这是我第一次尝试帮助StackOverflow,因此我花了更多时间学习如何使用标记,而不是真正做出响应。对不起,朋友。 –

+0

没问题 - 感谢您的解释,并且愿意提供帮助! – chazsolo