2012-11-07 36 views
8

Tôi đang lặp qua một mảng dữ liệu json nhưng cần phải loại bỏ phần tử đầu tiên trước khi lặp lại. Làm cách nào để xóa phần tử ban đầu? Đây là những gì tôi có cho đến nay:Làm cách nào để bật phần tử mảng đầu tiên bằng jquery?

$.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"); 
+1

'data.urls.shift()' – Shmiddty

Trả lời

0

Bạn có thể sử dụng

.shift() 

Nó sẽ Remo đã phần tử đầu tiên từ mảng

Trong trường hợp của bạn nó là

data.urls.shift() 
0

Bạn có thể sử dụng shift() chức năng từ lớp Array, mà loại bỏ (và lợi nhuận - mặc dù bạn chỉ có thể loại bỏ nó) phần tử đầu tiên từ mảng. Hãy xem MDN doc để biết thêm thông tin.

data.urls.shift(); 
0

Trong JavaScript bạn có thể loại bỏ các yếu tố đầu tiên của một mảng bằng cách sử dụng shift():

// your array 
data.urls; 

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

// do something with the rest 
0

Để loại bỏ các mục đầu tiên của một mảng trong javascript (nó cũng sẽ có tác dụng nếu bạn đang sử dụng jquery) sử dụng data.urls.shift(). Điều này cũng sẽ trả lại mục đầu tiên, nhưng bạn có thể bỏ qua giá trị trả về nếu bạn không muốn sử dụng nó. Để biết thêm thông tin, hãy xem http://www.w3schools.com/jsref/jsref_shift.asp.

2

Nếu data.url chỉ là một mảng, cách đơn giản nhất để giải quyết vấn đề này là sử dụng splice() chức năng của Javascript:

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

Bạn cũng có thể sử dụng shift() nếu bạn cần giá trị của url đầu tiên:

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() { 
    ... 
Các vấn đề liên quan