Javascript - извлечение значения из массива, но не в конце массива - PullRequest
7 голосов
/ 19 сентября 2010

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

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

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

РЕДАКТИРОВАТЬ

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

Ответы [ 2 ]

9 голосов
/ 19 сентября 2010

Чтобы отключить первый, используйте:

first = array.shift();

Чтобы отключить любой другой, используйте:

removed = array.splice(INDEX, 1)[0];
6 голосов
/ 19 сентября 2010

Вы ищете 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 before = 10», затем «a.length after = 9», затем «b [0] = 15»

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

...