首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Javascript将对象推入多维数组循环

问Javascript将对象推入多维数组循环
EN

Stack Overflow用户
提问于 2017-01-17 02:50:39
回答 3查看 1.7K关注 0票数 1

我目前有一个多维数组:

代码语言:javascript
复制
var locations = [
    ['Event', 'Monday', 50.820250, -0.143534, 'Image', 'fa fa-heart'],
    ['Event 2', 'Tuesday', 50.819939, -0.140978, 'Image', 'fa fa-heart'], 
];

我有一个包含以下内容的JavaScript文件:

代码语言:javascript
复制
$(function () 
  {
$.ajax({                                      
  url: 'locations.php', data: "", dataType: 'json', success: function(rows)        
  {
    for (var i in rows)
    {
      var row = rows[i];          

      var id = row.id;
      var name = row.name; 
      var date = row.date; 
      var lat = row.lat; 
      var long = row.long;
      var image = row.header;

    var test = "['" + name + "', '" + date + "', " + lat + ", " + long + ", '" + image + "', 'fa fa-heart'],";

    locations.push(test);

          } 

  } 
});

  async: false

});

它很好地获取了PHP文件中的所有信息,但是我想在每个循环的当前数组中“推入”/添加一个新事件。

任何帮助都是非常感谢的!

EN

回答 3

Stack Overflow用户

发布于 2017-01-17 02:56:01

您正在将test变量设置为一个长字符串,而不是实际的数组。要使其成为数组,可以执行以下操作:

代码语言:javascript
复制
var test = [name, date, lat, long, image,'fa fa-heart'];
locations.push(test);

示例:https://jsfiddle.net/ejqzshy5/

票数 0
EN

Stack Overflow用户

发布于 2017-01-17 02:58:38

您要添加的是一个字符串,而不是一个数组。它应该是:

代码语言:javascript
复制
var test = [name, date, lat, long, image, 'fa fa-heart'];

为了确认,在将test推入数组之前,打印类型。即

代码语言:javascript
复制
console.log(typeof test);

如果它是一个字符串,你会得到' string‘作为输出;如果它是一个数组,你会得到'object’。

票数 0
EN

Stack Overflow用户

发布于 2017-01-17 03:09:15

您只需为每一行创建一个新数组,然后将每个项目推入此数组。最后,将这个新数组放入locations数组中。

这是JSBin:http://jsbin.com/zumijib/edit?html,css,js,output

代码语言:javascript
复制
for (var i = 0, rowLength = rows.length; i < rowLength; i++) {
  var row = rows[i];
  // create new array
  var newData = [];

  // add new data to end of list.
  newData.push(row.name);
  newData.push(row.date);
  newData.push(row.lat);
  newData.push(row.long);
  newData.push(row.image);
  newData.push('fa fa-heart');

  // add data to current list of locations.
  locations.push(newData);
}
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/41683166

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档