2010-09-19 3 views
7

У меня есть, например, этот массив (каждое число однополярное, ни один дубликат) называется pvalue: 1 2 3 15 20 12 14 18 7 8 (sizeof 10).Javascript - вывести значение из массива, но не в конец массива

Мне нужно, например, указать значение «15», а после этого значение должно быть 1 2 3 20 12 14 18 7 8 (sizeof 9). Как это можно сделать?

Функция pop() принимает значение в конце массива. Я не хочу этого :) веселит

EDIT

for(i=0; i<pvalue.length; i++) { 
    if(pvalue[i]==param) { 
     ind=i; 
     break; 
    } 
} 
pvalue.splice(ind, 1); 

ответ

6

Вы ищете splice. Пример: http://jsbin.com/oteme3:

var a, b; 

a = [1, 2, 3, 15, 20, 12, 14, 18, 7, 8]; 
display("a.length before = " + a.length); 
b = a.splice(3, 1); 
display("a.length after = " + a.length); 
display("b[0] = " + b[0]); 

... отображает "a.length перед тем = 10", а затем "a.length после = 9", а затем "б [0] = 15"

Обратите внимание, что splice возвращает массив удаленных значений, а не только один, но это легко обрабатывается. Также удобно вставлять значения в массив.

9

Чтобы вытолкнуть первый одноразовая, использование:

first = array.shift(); 

поп любой другой единовременные, используйте:

removed = array.splice(INDEX, 1)[0];