13

我正在迭代一个 json 数据数组,但需要在迭代之前删除第一个元素。如何删除初始元素?这是我到目前为止所拥有的:

    $.post('player_data.php', {method: 'getplayers', params: $('#players_search_form').serialize()}, function(data) {

        if (data.success) {

           // How do I remove the first element ?

            $.each(data.urls, function() {
                ...
            });
        }

    }, "json");
4

7 回答 7

38

普通的javascript会做:

data.urls.shift()

shift()方法:

从数组中删除第一个元素并返回该元素。此方法更改数组的长度。

https://developer.mozilla.org/en-US/docs/JavaScript/Reference/Global_Objects/Array/shift

于 2012-11-07T16:42:34.663 回答
2

有一种类似pop的方法,但是从前面代替

data.urls.shift()

https://developer.mozilla.org/en-US/docs/JavaScript/Reference/Global_Objects/Array/shift

于 2012-11-07T16:42:46.073 回答
2

如果data.url只是一个数组,解决这个问题最简单的方法是使用 Javascript 的splice()函数:

if (data.success) {
  //remove the first element from the urls array
  data.urls.splice(0,1);
  $.each(data.urls, function() {
     ...

如果您需要第一个 url 的值,也可以使用shift() :

if (data.success) {
  //remove the first element from the urls array
  var firstUrl = data.urls.shift();
  //use the value of firstUrl
  ...
  $.each(data.urls, function() {
     ...
于 2012-11-07T16:46:27.113 回答
0

您可以使用

.shift()

它将从数组中删除第一个元素

在你的情况下

data.urls.shift()
于 2012-11-07T16:43:19.520 回答
0

您可以使用shift()Array 类中的函数,该函数从数组中删除(并返回 - 尽管您可以丢弃它)第一个元素。查看MDN 文档以获取更多信息。

data.urls.shift();
于 2012-11-07T16:43:21.903 回答
0

在 JavaScript 中,您可以使用以下方法删除数组的第一个元素shift()

// your array
data.urls;

// remove first element
var firstElem = data.urls.shift();

// do something with the rest
于 2012-11-07T16:43:24.153 回答
0

要在 javascript 中删除数组的第一项(如果您使用 jquery,它也可以工作)使用data.urls.shift(). 这也将返回第一项,但如果您不想使用它,可以忽略返回值。有关详细信息,请参阅http://www.w3schools.com/jsref/jsref_shift.asp

于 2012-11-07T16:44:06.680 回答