使用推送方法创建数组

create array using push method

本文关键字:创建 数组 方法      更新时间:2023-09-26
 var members = [
     ['Fred G. Aandahl', '1951-1953', 'North Dakota'],
     ['Watkins Moorman Abbitt', '1948-1973', 'Virginia'],
 ];

我需要动态创建这样的内容,我使用以下代码来执行此操作:

var data = new array();
var members = [];
$.each(data, function (i, elem) {
    data.push(elem["p_age"], elem["p_name"], elem["p_date"]);
    members.push(data);
});
console.log(members);
}

为此,我需要打印此值。

for(var x = 0; x < members.length; x++) {
    console.log(members[i][0]);
    console.log(members[i][1]);
    console.log(members[i][2]);
}

所以当我尝试这个时,我会跟随。

  [object][object][object][object][object][object]

我不确定你的代码是如何工作的!如果您已经知道,它有一些错误。

更改为以下代码后,您的代码应该可以正常工作:-

var data = new Array();//Was an Error in your code
var members = [];
$.each(temp, function (i, elem) {
    data.push(elem["p_age"], elem["p_name"], elem["p_date"]);
    members.push(data);
});
console.log(members);
for (var x = 0; x < members.length; x++) {
    console.log(members[x][0]);//Was an Error in your code
    console.log(members[x][1]);
    console.log(members[x][2]);
}

其次,data.push(elem["p_age"], elem["p_name"], elem["p_date"]);如何为您工作?它应该给你undefined.

为了弄清楚自己,我把你的代码写在了小提琴上。看一看。

尝试

var members=[];
$.each(data, function(i, elem) {
    members.push([elem["p_date"],elem["p_name"],elem["p_date"]]);
});
console.log(JSON.stringify(members))

看起来很可疑:

$.each(data, function(i, elem) {
  data.push(elem["p_date"],elem["p_name"],elem["p_date"]);

看起来您正在尝试迭代data,将元素推回data。我想 $.each(( 需要迭代其他东西。

我还质疑你为什么要两次将elem['p_date']推到数组上。

因为它将它们视为对象。尝试使用 toString(( 方法。

嗨,

使用 x 而不是 i for 循环。

for(var x=0;x<members.length;x++){
                      console.log(members[x][0]);
                      console.log(members[x][1]);
                       console.log(members[x][2]);
                 }

它会起作用。

not

var data=new array();

var data=new Array();

数组的类名是 Array,但不是 'array'。