【问题标题】:Javascript array collection appendJavascript数组集合追加
【发布时间】:2018-03-21 12:21:07
【问题描述】:

嗨,我得到了这个数组:

  var locations = [
  ['Bondi Beach', -33.890542, 151.274856, 4],
  ['Coogee Beach', -33.923036, 151.259052, 5],
  ['Cronulla Beach', -34.028249, 151.157507, 3],
  ['Manly Beach', -33.80010128657071, 151.28747820854187, 2],
  ['Maroubra Beach', -33.950198, 151.259302, 1] 
];

我想像示例一样附加到它:

var locations = [
  ['Bondi Beach', -33.890542, 151.274856, 4],
  ['Coogee Beach', -33.923036, 151.259052, 5],
  ['Cronulla Beach', -34.028249, 151.157507, 3],
  ['Manly Beach', -33.80010128657071, 151.28747820854187, 2],
  ['Maroubra Beach', -33.950198, 151.259302, 1],
  ['New item', -22.950198, 141.259302, 6]
];

我不知道该怎么做,搜索“将项目添加到数组中的数组”似乎不太成功。

【问题讨论】:

  • Array.prototype.push
  • locations.push(['New item', -22.950198, 141.259302, 6]);
  • 您最后的评论不正确。您没有将项目添加到数组中的数组。您只是添加到数组中。你可以push 任何项目,碰巧这个项目是一个数组。但是,如果您想将项目添加到数组内的数组中,您将找到要添加到的数组和push。所以就像:locations[1].push(whatever)。这会将任何内容推到“Coogee Beach”数组的末尾。

标签: javascript arrays add


【解决方案1】:
var locations = [
  ['Bondi Beach', -33.890542, 151.274856, 4],
  ['Coogee Beach', -33.923036, 151.259052, 5],
  ['Cronulla Beach', -34.028249, 151.157507, 3],
  ['Manly Beach', -33.80010128657071, 151.28747820854187, 2],
  ['Maroubra Beach', -33.950198, 151.259302, 1] 
];

var newLocation = ['New item', -22.950198, 141.259302, 6];

locations.push(newLocation);

【讨论】:

    【解决方案2】:

    locations.push(['新项目', -22.950198, 141.259302, 6]); 是正确的答案。

    【讨论】:

      【解决方案3】:

      如果你想在最后添加,你可以使用 push() 方法! 或者您可以使用 .unshift 方法添加第一个!在这里查看更多信息https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Array

      【讨论】:

        【解决方案4】:

        尝试使用这个:

         var locations = [
         {'Bondi Beach', -33.890542, 151.274856, 4},
         {'Coogee Beach', -33.923036, 151.259052, 5},
         {'Cronulla Beach', -34.028249, 151.157507, 3},
         {'Manly Beach', -33.80010128657071, 151.28747820854187, 2},
         {'Maroubra Beach', -33.950198, 151.259302, 1}
        

        ];

        现在你可以应用推送了

        locations.push({'New item', -22.950198, 141.259302, 6});
        

        让我知道它是否有效。

        【讨论】:

        • 你正在推送一个对象;不是数组。
        【解决方案5】:

        或者你可以使用spread syntax

        var locations = [
          ['Bondi Beach', -33.890542, 151.274856, 4],
          ['Coogee Beach', -33.923036, 151.259052, 5],
          ['Cronulla Beach', -34.028249, 151.157507, 3],
          ['Manly Beach', -33.80010128657071, 151.28747820854187, 2],
          ['Maroubra Beach', -33.950198, 151.259302, 1] 
        ];
        
        locations = [...locations,['New item', -22.950198, 141.259302, 6]];
        
        console.log(locations);

        【讨论】:

          猜你喜欢
          • 2013-04-13
          • 2012-07-05
          • 1970-01-01
          • 1970-01-01
          • 2018-11-19
          • 1970-01-01
          • 1970-01-01
          • 2019-02-07
          • 2016-07-24
          相关资源
          最近更新 更多