0

多次元配列を作成したい。これを2つに変えたいとしましょう:

{
        "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"
            }
        ]
    } 

最初の 5 つの項目を「dogs」という配列に入れ、残りの 5 つの項目を「noDogs」という配列に入れたいとします。どうすればいいですか?

4

2 に答える 2

1

これを行う別の方法は、ここに記載slice()されている組み込みの JavaScriptメソッドを使用することです。

コードは次のようになります。

var dogs = fighters.slice(0, 5); //Take items 0, 1, 2, 3, 4
var noDogs = fighters.slice(5, fighters.length) //Take items 5 onwards
于 2012-10-18T10:13:27.213 に答える
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);
  }  
}
于 2012-10-15T13:23:48.597 に答える