Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/411.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 如何使用jQuery将2.Each()列表组合成一个数组_Javascript_Jquery - Fatal编程技术网

Javascript 如何使用jQuery将2.Each()列表组合成一个数组

Javascript 如何使用jQuery将2.Each()列表组合成一个数组,javascript,jquery,Javascript,Jquery,我正在尝试使用jQuery.each()为我的每个元素组合两个列表以创建一个列表。实际上,它是两个表单元格的迭代 项目一 项目一次 项目二 第二项 我想一个简单的方法就是循环trs,然后用名称文本和时间文本中的值构建索引 var obj = {}; $('.cart tr').each(function(i, tr) { var $tr = $(tr); if ($tr.find('.product').text() !== "") { obj[$.trim($tr.fin

我正在尝试使用jQuery.each()为我的每个元素组合两个列表以创建一个列表。实际上,它是两个表单元格的迭代


项目一
项目一次
项目二
第二项

我想一个简单的方法就是循环
tr
s,然后用
名称文本和
时间文本中的值构建索引

var obj = {};

$('.cart tr').each(function(i, tr) {
  var $tr = $(tr);
  if ($tr.find('.product').text() !== "") {
    obj[$.trim($tr.find('.product').text())] = $.trim($tr.find('.MuseumDateTime').text())
  }
})
我添加了
$.trim()
,以删除尾随和前导空格。I'v还确保列中存在数据,以确保输出中没有空格


我想一个简单的方法就是循环
tr
s,然后用
名称文本和
时间文本中的值构建索引

var obj = {};

$('.cart tr').each(function(i, tr) {
  var $tr = $(tr);
  if ($tr.find('.product').text() !== "") {
    obj[$.trim($tr.find('.product').text())] = $.trim($tr.find('.MuseumDateTime').text())
  }
})
我添加了
$.trim()
,以删除尾随和前导空格。I'v还确保列中存在数据,以确保输出中没有空格


使用
for
循环,而不是
join

// where text will be accumulated
var text = "";
// loop through all names and times (should be of the same length)
for(var i = 0; i < allProductNames.length; i++) {
    // accumulate the text in the format you like
    text += "'" + allProductNames[i] + ": " + allProductTimes[i] + "',";
}
// remove the trailing ','
text = text.slice(0, -1);
//将在其中累积文本
var text=“”;
//循环所有名称和时间(长度应相同)
对于(var i=0;i
示例:

var-allProductNames=[];
$('.name')。每个(函数(){
var cartProduct=$(this.text();
allProductNames.push(cartProduct);
});
var allProductTimes=[];
$('.time')。每个(函数(){
var cartProductDateTime=$(this).text();
allProductTimes.push(cartProductDateTime);
});
var text=“”;
对于(var i=0;i

项目一
项目一次
项目二
第二项

使用
for
循环,而不是
join

// where text will be accumulated
var text = "";
// loop through all names and times (should be of the same length)
for(var i = 0; i < allProductNames.length; i++) {
    // accumulate the text in the format you like
    text += "'" + allProductNames[i] + ": " + allProductTimes[i] + "',";
}
// remove the trailing ','
text = text.slice(0, -1);
//将在其中累积文本
var text=“”;
//循环所有名称和时间(长度应相同)
对于(var i=0;i
示例:

var-allProductNames=[];
$('.name')。每个(函数(){
var cartProduct=$(this.text();
allProductNames.push(cartProduct);
});
var allProductTimes=[];
$('.time')。每个(函数(){
var cartProductDateTime=$(this).text();
allProductTimes.push(cartProductDateTime);
});
var text=“”;
对于(var i=0;i

项目一
项目一次
项目二
第二项
使用函数的解决方案:

var arr=$.map($('.cart tr'),函数(tr,i){
返回$(tr).find('.name').text()+':'+$(tr).find('.time').text();
});
控制台日志(arr)

项目一
项目一次
项目二
第二项
使用函数的解决方案:

var arr=$.map($('.cart tr'),函数(tr,i){
返回$(tr).find('.name').text()+':'+$(tr).find('.time').text();
});
控制台日志(arr)

项目一
项目一次
项目二
第二项


您可以将类添加到标记中它们应该位于的位置吗?您想要的输出格式是字符串还是字符串数组?为什么要这样的字符串?你能改变HTML吗?因为事实上,大多数答案都是脆弱的。你能在标记中添加类吗?你想要的输出格式是字符串还是字符串数组?你为什么想要这样的字符串?你能改变HTML吗,因为事实上,大多数答案都是脆弱的。
arr
不应该是一个对象(
{}
)?@ibrahimmahrir-Hmm。你说得对。我已经更新了。监督。然后他可以使用
JSON.stringify
获得字符串表示。我得到了对象,然后尝试了JSON.stringify(obj)。我的控制台显示出一些非常奇怪的声音formatting@ClosDesign试着
JSON.stringify(obj,null,4)
让它看起来更漂亮。
arr
不应该是一个对象(
{}
)?@ibrahimmahrir-Hmm。你说得对。我已经更新了。监督。然后他可以使用
JSON.stringify
获得字符串表示。我得到了对象,然后尝试了JSON.stringify(obj)。我的控制台显示出一些非常奇怪的声音formatting@ClosDesign尝试
JSON.stringify(obj,null,4)
让它看起来更漂亮。我使用这个解决方案,因为它完全满足了我的需要。我只需要在$(this).text()周围添加$.trim()。我使用这个解决方案,因为它正好满足了我的需要。我只需要在$(this).text().Upvoting的周围添加$.trim(),因为它让我接近了。谢谢投票,因为它让我接近。谢谢