У меня есть кнопки с общим классом (buttons
). Как я могу добавить их ID
s в массив в обратном порядке?создать массив в обратном порядке
var yourArray = [];
$('.buttons').each(function() {
yourArray.push($(this).prop('id'));
});
У меня есть кнопки с общим классом (buttons
). Как я могу добавить их ID
s в массив в обратном порядке?создать массив в обратном порядке
var yourArray = [];
$('.buttons').each(function() {
yourArray.push($(this).prop('id'));
});
Вы можете создать массив, добавив каждый элемент в начало массива с помощью unshift()
:
var yourArray = [];
$('.buttons').each(function() {
yourArray.unshift(this.id);
});
В качестве альтернативы вы можете создать его в текущем порядке, а затем reverse()
его. Также обратите внимание, что вы можете использовать map()
для создания массива изначально:
var yourArray = $('.buttons').map(function() {
return this.id;
}).get().reverse();
Наконец, вы можете использовать this.id
вместо создания объекта JQuery только для доступа к свойству уже доступному без необходимости создания объекта.
@Becky. В массиве POJS нет метода 'each()'. Вы должны использовать обычный цикл 'for' или' $ .each (yourArray, function() {...}); ' –
Возможно ли отменить порядок в рамках существующей функции' each() '? '$ ('. buttons'). each (function() {' – Becky
То, что делает первый пример кода –
Вы можете сделать что-то простое с map()
и reverse()
var yourArray = $('.buttons').map(function() {
return this.id; // get the id
})
.get() // get the array
.reverse(); // reverse the array
console.log(yourArray);
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.11.1/jquery.min.js"></script>
<button id="a" class="buttons"></button>
<button id="b" class="buttons"></button>
Как использовать новый массив create, если мне нужно использовать его в другом 'each (function() {'? – Becky
' yourArray.forEach (function (v) {...... ..................................}); ', используйте' forEach' или '$ .each() ' –
Спасибо. Я хочу использовать его в существующей функции' each() '. Я попробовал' yourArray.each (function() {...}); 'похоже, не работает. – Becky
'Array.unshift()'? – evolutionxbox
Добавить 'yourArray.reverse();' вне цикла – Mihai
@Mihai - разве это не просто отменить уже созданный массив? 'unshift', по крайней мере, позволяет создавать массив с обратной стороны (« в обратном порядке ») – evolutionxbox