2013-10-24 2 views
0

Я работаю с целочисленным массивом в моей функции JavaScript, которые я упростил до -Pass переменного массива к следующей части функции

var recs = new Array(); 
recs[0] = 1; 
recs[1] = 2; 
recs[2] = 3; 

Далее вниз по моей функции я использую каждое значение recs как -

data: [ 
     recs[0], recs[1], recs[2] 
    ] 

Как я могу перебирать каждое значение в РИК и добавить его в data без жесткого кодирования их, так как число значений, вероятно, изменятся.

ответ

2

Ну, если вы не возражаете, используя тот же массив ссылки, вы можете просто сделать:

data: recs

В противном случае вы можете клонировать массив, используя slice.

data: recs.slice()

Примечание: Если вы посмотрите на ссылку на функцию, вы увидите, что та же функция позволяет отрезают определенную часть массива, а также.

+0

является нулем является необязательным здесь 'recs.slice (0)'? – ajax333221

+0

@ ajax333221 Да, это так. «Если начало опущено, срез начинается с индекса 0.» - Взято из MDN – plalx

+0

Странно, что MDN не показывает начало как необязательное в сигнатуре функции, но это действительно необязательно: http://jsfiddle.net/k68Hu/1 – JLRishe

1

Возможно, вам просто нужно:

var data = recs; 

или

... 
    data:recs 
    ... 

или если вы хотите сохранить ссылку дифф затем:

data : [].concat(recs); 
0

Вы должны использовать цикл для перебора элементов в РИК

var recs = []; // its better practice to use the array literal here instead of new Array() 
recs[0] = 1; 
recs[1] = 2; 
recs[2] = 3; 

var i = 0, 
    count = recs.length, 
    data = []; 

for (; i < count; i++) { 
    data[i] = recs[i]; 
} 
Смежные вопросы