【发布时间】:2016-05-05 10:21:29
【问题描述】:
我在每个循环中有一个每个循环:
var data_array = [];
$('td.form').each(function(){
$(this).children('input[type=hidden]').each(function(index, element){
var name = $(element).attr('name');
data_array[index] = $(element).val();
});
console.log(data_array);
});
第一个循环遍历包含一组隐藏输入的特定表格单元格。
我已经设法将隐藏输入中的数据收集到数组中。当我在每次迭代时写信给控制台时,我得到了这个:
[id: "56a8382bd5b88", date: "Tuesday, February 16th, 2016 - 10:00 PM UTC", waiting_list: "false"]
[id: "56a9260e14b3e", date: "Tuesday, February 23rd, 2016 - 5:00 PM UTC", waiting_list: "true"]
我想要做的是将这些数组写入一个新的数组或对象,以便稍后在脚本中使用这样的东西:
myNewArray = [
first = [ /* 'first' as placeholder text */
id: "56a8382bd5b88",
date: "Tuesday, February 16th, 2016 - 10:00 PM UTC",
waiting_list: "false"
],
second = [ /* 'second' as placeholder text */
id: "56a9260e14b3e",
date: "Tuesday, February 23rd, 2016 - 5:00 PM UTC",
waiting_list: "true"
]
]
我一直在尝试创建一个新数组并使用 push:
var data_array = [];
var myOtherNewArray = [];
$('td.form').each(function(){
$(this).children('input[type=hidden]').each(function(index, element){
var name = $(element).attr('name');
data_array[index] = $(element).val();
});
console.log(data_array);
myOtherNewArray.push(data_array);
});
console.log(myOtherNewArray);
但这一直给我不想要的重复:
myOtherNewArray = [
first = [
id: "56a9260e14b3e",
date: "Tuesday, February 23rd, 2016 - 5:00 PM UTC",
waiting_list: "true"
],
second = [
id: "56a9260e14b3e",
date: "Tuesday, February 23rd, 2016 - 5:00 PM UTC",
waiting_list: "true"
]
]
显然我正在覆盖循环中的数据。我似乎无法在这里找出正确的构造。任何帮助将不胜感激!
【问题讨论】:
-
你从哪里得到
'first'或'second'这个词? -
你能用html部分创建一个jsFiddle吗?
-
@NinaScholz,“first”和“second”这两个词只是占位符(即第一个数组、第二个数组等)
-
也许你在推送值之前清除数组。代码未显示问题发生的位置。
标签: javascript jquery arrays loops each