Ответ 1
Существует метод slice
array.slice(0, 4);
Вернет первые четыре элемента.
Не забудьте назначить его обратно своей переменной, если вы хотите отменить другие значения.
Примечание. Это просто обычный javascript, без jquery.
Linq имеет удобный операторный метод, называемый Take()
, чтобы возвращать заданное число элементов во всем, что реализует IEnumerable
. Есть ли что-то подобное в jQuery для работы с массивами?
Существует метод slice
array.slice(0, 4);
Вернет первые четыре элемента.
Не забудьте назначить его обратно своей переменной, если вы хотите отменить другие значения.
Примечание. Это просто обычный javascript, без jquery.
(2 года спустя...) Если вы действительно хотите усечь массив, вы также можете использовать атрибут length
:
var stooges = ["Moe", "Larry", "Shemp", "Curly", "Joe"];
stooges.length = 3; // now stooges is ["Moe", "Larry", "Shemp"]
Примечание: если вы назначаете длину дольше, чем текущая длина, вводятся элементы массива undefined, как показано ниже.
var stooges = ["Moe", "Larry", "Shemp"];
stooges.length = 5;
alert(typeof stooges[4]); // alerts "undefined"
Если вы спрашиваете, как обрезать (модифицируйте массив, удалив элементы из конца), используйте splice:
var a1 = [2,4,6,8];
var a2 = a1.splice(-2,2); // a1=[2,4], a2=[6,8]
Если вы спрашиваете, как получить подмножество массива без изменения оригинала, используйте slice.
var a1 = [2,4,6,8];
var a2 = a1.slice(-2); // a1=[2,4,6,8], a2=[6,8]
Просто помните, что сплайсинг изменяет, разрезает доступ. Отрицательные числа как первый arg указывают индекс от конца массива.
Задайте свойство .length для более низкого значения.
Официальная документация: Array.prototype.length
Если вы хотите как получить элементы, так и удалить их из массива, используйте splice.
Если вы хотите сохранить элементы в массиве, используйте slice
Если вы хотите выборочно вытащить элементы из массива, вы можете использовать метод jQuery.grep.
(из документов jQuery)
var arr = [ 1, 9, 3, 8, 6, 1, 5, 9, 4, 7, 3, 8, 6, 9, 1 ];
$("div").text(arr.join(", "));
arr = jQuery.grep(arr, function(n, i){
return (n != 5 && i > 4);
});
$("p").text(arr.join(", "));
arr = jQuery.grep(arr, function (a) { return a != 9; });
$("span").text(arr.join(", "));