Linq имеет удобный операторный метод, называемый Take()
, чтобы возвращать заданное количество элементов во всем, что реализует IEnumerable
. Есть ли что-то подобное в jQuery для работы с массивами?Как легко обрезать массив с помощью JavaScript?
ответ
Существует slice метод
array.slice(0, 4);
Вернется первые четыре элемента.
Не забудьте присвоить его переменной, если вы хотите отменить другие значения.
Примечание: Это просто обычный javascript, не требуется jquery.
Прекрасное спасибо Бобу. –
Не мог (0,4) вернуть первые 4 не первые 5? –
Это на самом деле не так. Симон держит правильно.Второй аргумент метода slice() - это позиция массива * после * последнего возвращаемого элемента. array.slice (0, 4) вернет элементы 0, 1, 2 и 3 - всего 4 элемента. Вспомните второй аргумент как точку отсечки, где .slice (0, x) вернет все элементы из начала массива, но не *, а не x, включая x. – Bungle
Если вы хотите выборочно тянуть элементы из массива, вы можете использовать метод 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(", "));
Если вы спрашиваете, как усечение (изменить массив путем удаления элементов из конца), а затем использовать 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 указывают индекс от конца массива.
(2 года спустя ...) Если вы действительно хотите усечь массив, вы можете также использовать length
атрибут:
var stooges = ["Moe", "Larry", "Shemp", "Curly", "Joe"];
stooges.length = 3; // now stooges is ["Moe", "Larry", "Shemp"]
Примечание: если вы назначаете длину, которая больше чем текущая длина, вводятся неопределенные элементы массива, как показано ниже.
var stooges = ["Moe", "Larry", "Shemp"];
stooges.length = 5;
alert(typeof stooges[4]); // alerts "undefined"
РЕДАКТИРОВАТЬ:
В @twhitehead, указанных ниже, добавление неопределенных элементов можно избежать, делая это:
var stooges = ["Moe", "Larry", "Shemp"];
stooges.length = Math.min(stooges.length, 5);
alert(stooges.length)// alerts "3"
Сначала я был удивлен, когда увидел это в коде ... Но это лучший способ (если вы обрезаете индекс 0) http://davidwalsh.name/empty-array –
Это удивительно простое решение. – Dominique
А как насчет сбора мусора, делающего thi way? –
Установить .length свойство на более низкое значение.
Официальная документация: Array.prototype.length
, чтобы убить все элементы массива, установить длину до нуля проще всего. – hanmari
- 1. Легко обрезать Double - swift
- 2. javascript - Как обрезать с помощью drawImage/putImageData
- 3. Bash: Как обрезать массив?
- 4. Как обрезать массив?
- 5. Как легко рандомизировать массив?
- 6. Легко устанавливать значения полей с помощью JavaScript
- 7. Как легко перемещать массив UIImageViews?
- 8. Как легко анализировать связь с javascript?
- 9. Как легко слушать запросы xhr с помощью javascript?
- 10. Как обрезать файл с помощью javascript (без jQuery)?
- 11. Как я могу обрезать содержимое текстового поля с помощью JavaScript?
- 12. Можно ли обрезать фоновое изображение div с помощью CSS/JavaScript?
- 13. Обрезать массив объектов
- 14. Как легко обрезать одно и то же изображение несколько раз
- 15. Обрезать массив без копирования?
- 16. Как легко выполнить файл JavaScript?
- 17. заполнить массив JavaScript с помощью JSTL массив
- 18. Как обрезать строку в javascript?
- 19. как обрезать полиномиальную форму с изображения
- 20. Как обрезать изображение с помощью php с помощью jquery imgAreaSelect?
- 21. Как обрезать изображение в Javascript
- 22. Как десериализации массив JavaScript с помощью ASP.NET
- 23. Как перебирать массив объектов с помощью javascript
- 24. Как напечатать массив объектов с помощью JavaScript
- 25. Как отсортировать массив даты с помощью javascript?
- 26. Как заполнить массив javaScript с помощью ajax
- 27. Как визуализировать массив с помощью javascript?
- 28. Манипулировать массив с помощью Javascript
- 29. массив шаблон с помощью Javascript
- 30. Обрезать изображение с помощью прямоугольника
Ребята, пожалуйста, узнать JavaScript, прежде чем JQuery. Боюсь, завтра будут вопросы: «Какие другие типы данных jQuery выставляются рядом с массивами?». –