2012-10-10 29 views
0

我想創建一個多維數組。比方說,我希望把這個分成兩個:適用於appcelerator的多維JSON示例

{ 
     "fighters": [ 
      { 
       "name": "Muhammad Ali", 
       "nickname": "The Greatest", 
       "image": "http://upload.wikimedia.org/wikipedia/commons/1/13/Clyde_The_Bulldog.jpg" 
      }, 
      { 
       "name": "Chuck Liddell", 
       "nickname": "The Iceman", 
       "image": "http://images.pictureshunt.com/pics/s/saint_bernard-12924.jpg" 
      }, 
      { 
       "name": "Rocky Marciano", 
       "nickname": "The Brockton Blockbuster", 
       "image": "http://www.goodhousekeeping.com/cm/goodhousekeeping/images/IO/alaskan-malamute-fb.jpg" 
      }, 
      { 
       "name": "Randy Couture", 
       "nickname": "The Natural", 
       "image": "http://slog.thestranger.com/files/2006/09/bigdog.jpg" 
      }, 
      { 
       "name": "Fedor Emelianenko", 
       "nickname": "The Last Emperor", 
       "image": "http://affordablehousinginstitute.org/blogs/us/wp-content/uploads/small_dog_on_big_dog.jpg" 
      }, 
      { 
       "name": "Jon Jones", 
       "nickname": "Bones" 
      }, 
      { 
       "name": "George Foreman", 
       "nickname": "Big George" 
      }, 
      { 
       "name": "Wanderlei Silva", 
       "nickname": "The Axe Murderer" 
      }, 
      { 
       "name": "Gearges St. Pierre", 
       "nickname": "Rush" 
      }, 
      { 
       "name": "Manny Pacquiao", 
       "nickname": "Pac-Man" 
      } 
     ] 
    } 

說我想把前五個項目進入所謂的「狗」數組,然後我希望把其他五個項目進入所謂的「noDogs數組」。我將如何做到這一點?

回答

1

假設original_array變量包含了上面這個數組會做你想要什麼:

var dogs = []; 
var noDogs = [];  

for(var i=0; i<original_array.fighters.length; i++){ 
    var fighter = original_array.fighters[i]; 
    if(i<5){ 
    dogs.push(fighter); 
    } else { 
    noDogs.push(fighter); 
    } 
} 
1

這樣做的另一種方法是使用內置的JavaScript slice()方法documented here

您的代碼將是這個樣子:

var dogs = fighters.slice(0, 5); //Take items 0, 1, 2, 3, 4 
var noDogs = fighters.slice(5, fighters.length) //Take items 5 onwards 
相關問題