javascript在表中显示数组结果
我有以下JavaScript循环,它将搜索表单的结果输出到表中javascript在表中显示数组结果,javascript,jquery,Javascript,Jquery,我有以下JavaScript循环,它将搜索表单的结果输出到表中 l = data.length; for (var i=0; i < l; i++) { var row = $('<tr><td>' + data[i].email_address + '</td><td>' + data[i].number_of_orders + '</td><td>' + '£' + data[i].to
l = data.length;
for (var i=0; i < l; i++) {
var row = $('<tr><td>' + data[i].email_address + '</td><td>'
+ data[i].number_of_orders + '</td><td>'
+ '£' + data[i].total_order_value + '</td></tr>');
$('#Reports').append(row);
}
l=data.length;
对于(变量i=0;i
像这样
我需要编辑它,这样我就有了这样的表视图
带有一个
,在该域的结果之前显示域名
我有一个包含搜索的域的变量,我的数组包含一个包含该域的键值
谁能给我指出正确的方向吗
我目前的想法是,我需要将搜索变量插入到我的循环中,并在每次循环后检查域是否没有更改
任何帮助都很好您应该有一个带有域名的变量 确保输入的所有数据都按域的顺序排列,否则应按域结尾的字母顺序排列 接下来,您将执行if语句,如果此条目的域等于上一条条目,则使用新域插入行。然后插入新条目
并将域名变量更新为上一条目的域。因此,它将循环遍历所有值,根据需要添加适当的头。您应该有一个带有域名的变量 确保输入的所有数据都按域的顺序排列,否则应按域结尾的字母顺序排列 接下来,您将执行if语句,如果此条目的域等于上一条条目,则使用新域插入行。然后插入新条目
并将域名变量更新为上一条目的域。因此,它将循环遍历所有值,根据需要添加适当的标题。使用您拥有的数据,创建一个数据结构,帮助您在实际构建表之前构建表 假设我们有以下数据
var data = [{
email_address: 'someone@able.com',
number_of_ordrs: 4,
total_order_value: 5.56
}, {
email_address: 'someone.else@bodge.com',
number_of_orders: 3,
total_order_value: 8.97
}, {
email_address: 'another@able.com',
number_of_orders: 6,
total_order_value: 0.93
}, {
email_address: 'someone@bodge.com',
number_of_orders: 6,
total_order_value: 0.93
}];
让我们对其进行变换,使其看起来像
var newData: {
'able.com': [{
email_address: 'someone@able.com',
number_of_orders: 4,
total_order_value: 5.56
}, {
email_address: 'another@able.com',
number_of_orders: 6,
total_order_value: 0.93
}],
'bodge.com': [{
email_address: 'someone.else@bodge.com',
number_of_orders: 3,
total_order_value: 8.97
}, {
email_address: 'someone@bodge.com',
number_of_orders: 6,
total_order_value: 0.93
}]
};
我们还需要另一个变量domains
,一个数组来存储和排序域。在JavaScript中,对象是一个对象,因此在对象上迭代不是一个好主意。相反,我们将使用域
来确保订单
$(函数(){
风险值数据=[{
电子邮件地址:'someone@able.com',
订单数量:4,
订单总价值:5.56
}, {
电子邮件地址:某人。else@bodge.com',
订单数量:3,
订单总价值:8.97
}, {
电子邮件地址:'another@able.com',
订单数量:6,
总订单价值:0.93
}, {
电子邮件地址:'someone@bodge.com',
订单数量:6,
总订单价值:0.93
}];
var newData={};
data.forEach(函数(d){
var domain=d.email_address.split('@')[1];
//这是一个新域名吗?
如果(!newData.hasOwnProperty(域)){
新数据[域]=[];
}
//添加条目
newData[domain].push(d);
});
//按字母顺序获取和排序域
var domains=Object.keys(newData.sort();
//console.log(域、新数据);
//生成表
var html='';
domains.forEach(函数(域){
html+=''+域+'';
newData[domain].forEach(函数(条目){
html+='';
html+=''+entry.email_address+'';
html+=''+entry.number of_orders+'';
html+=''+entry.total\u order\u value+'';
html+='';
});
});
html+='';
$('#Reports').html(html);
});代码>
表格{
边框:1px实心#000;
边界塌陷:塌陷;
}
运输署{
边框:1px实心#000;
填充物:5px;
文本对齐:居中;
}
使用您拥有的数据,创建一个数据结构,在实际构建表之前帮助您构建表
假设我们有以下数据
var data = [{
email_address: 'someone@able.com',
number_of_ordrs: 4,
total_order_value: 5.56
}, {
email_address: 'someone.else@bodge.com',
number_of_orders: 3,
total_order_value: 8.97
}, {
email_address: 'another@able.com',
number_of_orders: 6,
total_order_value: 0.93
}, {
email_address: 'someone@bodge.com',
number_of_orders: 6,
total_order_value: 0.93
}];
让我们对其进行变换,使其看起来像
var newData: {
'able.com': [{
email_address: 'someone@able.com',
number_of_orders: 4,
total_order_value: 5.56
}, {
email_address: 'another@able.com',
number_of_orders: 6,
total_order_value: 0.93
}],
'bodge.com': [{
email_address: 'someone.else@bodge.com',
number_of_orders: 3,
total_order_value: 8.97
}, {
email_address: 'someone@bodge.com',
number_of_orders: 6,
total_order_value: 0.93
}]
};
我们还需要另一个变量domains
,一个数组来存储和排序域。在JavaScript中,对象是一个对象,因此在对象上迭代不是一个好主意。相反,我们将使用域
来确保订单
$(函数(){
风险值数据=[{
电子邮件地址:'someone@able.com',
订单数量:4,
订单总价值:5.56
}, {
电子邮件地址:某人。else@bodge.com',
订单数量:3,
订单总价值:8.97
}, {
电子邮件地址:'another@able.com',
订单数量:6,
总订单价值:0.93
}, {
电子邮件地址:'someone@bodge.com',
订单数量:6,
总订单价值:0.93
}];
var newData={};
data.forEach(函数(d){
var domain=d.email_address.split('@')[1];
//这是一个新域名吗?
如果(!newData.hasOwnProperty(域)){
新数据[域]=[];
}
//添加条目
newData[domain].push(d);
});
//按字母顺序获取和排序域
var domains=Object.keys(newData.sort();
//console.log(域、新数据);
//生成表
var html='';
domains.forEach(函数(域){
html+=''+域+'';
newData[domain].forEach(函数(条目){
html+='';
html+=''+entry.email_address+'';
html+=''+entry.number of_orders+'';
html+=''+entry.total\u order\u value+'';
html+='';
});
});
html+='';
$('#Reports').html(html);
});代码>
表格{
边框:1px实心#000;
边界塌陷:塌陷;
}
运输署{
边框:1px实心#000;
填充物:5px;
文本对齐:居中;
}
Wow,感谢您提供如此详细的代码。这有助于我整理我想要显示的多个类别,实际上我花了5天的时间进行研究,因为我不知道如何删除循环表单中的重复属性,然后再显示它们。干杯@没问题,很乐意帮忙。哇,谢谢你提供这么详细的代码。这有助于我整理出我想要显示的多个类别