javascript - 使用 Javascript 数组创建 HTML 表
问题描述
解析给定的数组(使用 JavaScript)并创建一个 HTML 表
- Gmail - 包含域 gmail.com 的所有电子邮件 ID。
- 雅虎 - 包含域 yahoo.com 的所有电子邮件 ID。
- 其他 - 包含域不在 a、b 和 c 中的所有电子邮件 ID,即不是 gmail、hotmail 和 yahoo。
我想根据域分离电子邮件 ID 数组并将它们显示在 html 表中。我已经尝试了以下代码,但它在 if 条件下不起作用。请帮我解决这个问题或替代解决方案
----------
<script>
// var email ="test@gmail.com"
// var domain = email.replace(/.*@/," ");
// alert(domain);
var d1 = "gmail.com"
var d2 = "hotmail.com"
var d3 = "yahoo.com"
var email =[" test@gmail.com", "test@hotmail.com" , "test@yahoo.com"];
var i;
// var domain = email.replace(/.*@/," ");
var text = "";
for(i=0;i<email.length;i++){
var dom = email[i].replace(/.*@/," ");
if(dom[i]==d1){
// text += email[i] + "<br>";
// document.getElementById("demo").innerHTML = text;
document.write("hii hello");
}
// else if(dom == "hotmail.com"){
// // text += email[i] + "<br>";
// // document.getElementById("demo").innerHTML = text;
// document.write("hii");
// }
// else if(dom == "yahoo.com"){
// // text += email[i] + "<br>";
// // document.getElementById("demo").innerHTML = text;
// document.write("swax");
// }
else{
document.write(dom); }
}
// document.getElementById("demo").innerHTML = text;
</script>
解决方案
。代替(/。*@/,” ”);
您应该用空字符串替换
.replace(/.*@/,"");
顺便说一句,真的不推荐使用 document.write()。为了帮助你,我快速编写了这个片段作为你的起点(没有判断,我几乎没有测试过):
function createTable(rows) {
const table = document.createElement('table');
for (row of rows) {
const tr = document.createElement('tr');
for (column of row) {
const td = document.createElement('td');
td.appendChild(document.createTextNode(column));
tr.appendChild(td);
}
table.appendChild(tr);
}
document.body.appendChild(table);
}
const emails = [
'test0@gmail.com', 'test0@hotmail.com', 'test0@test.com',
'test1@gmail.com', 'test1@hotmail.com', 'test1@test.com',
];
const split = [[], [], []];
emails.forEach(email => {
switch (email.split('@')[1]) {
case 'gmail.com': split[0].push(email); break;
case 'hotmail.com': split[1].push(email); break;
default: split[2].push(email)
}
});
createTable(split);
问候,文森特
推荐阅读
- r - 在 R 中仅打开图像的一部分(JPEG/TIFF 等)
- java - 针对不同上下文的 Java 序列化
- java - 我如何让这个 for 循环工作?
- java - 无法使用 AudioRecord 捕获 Android TV 中的音频输入 - Java
- css - 引导下拉菜单上的 z-index 不适用于变换
- json - XML 和 JSON 是食品和饮料行业的数据格式标准吗?
- spagobi - 安装后,无法登录knowage(http://localhost:8080/knowage)
- php - php中的strpos问题
- javascript - 在 JSON 数组中查找值并从父节点中删除找到的节点
- swift - 能够在 Firebase 中对用户进行身份验证,但不能将用户数据存储在 Firebase 数据库中