我如何使用className在单个调用中弹出()2个数组的最后一个元素

How can I pop() the last element of 2 arrays in single call using className?

本文关键字:2个 数组 元素 最后一个 className 何使用 单个 调用      更新时间:2023-09-26

我有两个div元素,它们被分配了一个名为"stack"的数组,使用data()

两个div元素都有一个.trigger类。

我现在要pop()两个数组的最后一个元素,像这样:

$('.trigger').data("stack").pop()

尽管

,但是这只去掉FIRST数组的最后一个元素
$('trigger').length

返回2

是否有一种方法可以在一行中从两个数组中删除最后一个元素?

你可以这样做:

$('.trigger').each(function() { $(this).data('stack').pop(); });

一般来说,jQuery函数返回一个值(比如"。data()"或"。css()",当只传递一个字符串参数时)只操作匹配数组中的第一个元素。因此,当您想要执行类似交易的操作时,您可以使用显式的"。each()"来自己获取每个元素。

您可以使用'map' -

var arr = $('.trigger').map(function() {
    return $(this).data("stack").pop()
})

Demo - http://jsfiddle.net/5gvAH/

正如Pointy指出的那样,如果您需要从每个数组中弹出的值,则此解决方案可以很好地工作。如果你只是想弹出值,而不需要返回值,那么Pointy的建议将是最合适的。