JQuery从data()数组

时间:2015-10-12 21:02:09

标签: javascript jquery arrays

我有一个存储在data()

中的数组
$('body').data('my-array', [red, blue, orange, green]);

从阵列中获取倒数第二项的最快方法是什么?在这种情况下orange

我试过了:

$('body').data('my-array').get(-2);

并且$(...).data(...).get不是函数。

注意:我发现了类似的问题,但与data()的数组无关。请在标记为重复之前检查。

4 个答案:

答案 0 :(得分:5)

像普通数组一样访问它,它就是这样,并使用长度并从中减去以获得倒数第二个值

var arr  = $('body').data('my-array');

var item = arr[arr.length - 2];

jQuery&#39; data()将对象和数组存储为它们,没有什么神奇之处,当获取数据时,它可以像任何其他对象或数组一样被访问。< / p>

请注意,长度从1开始,数组为零索引,因此您必须减去2.

答案 1 :(得分:2)

您可以使用javascript的本机.slice(),因为它是一个数组(内部执行Array.slice)。像这样的东西

$('body').data('my-array').slice(2, -1)[0];

slice(2, -1)将从数组的末尾获取2个元素。

答案 2 :(得分:1)

$('body').data('my-array').reverse()[1]

$('body').data('my-array').slice(-2)[0]

var arr=$('body').data('my-array');
arr.pop();
var item=arr.pop();

var arr=$('body').data('my-array');
var item=arr[arr.length-2];

答案 3 :(得分:-1)

我要做的是使用数组长度减去2:

array[array.length - 2]