Javascript 我有一个包含n个邮件id的数组。我想根据它的域名对它进行排序
我有一个包含n个邮件id的数组。我想根据它的域名对它进行排序。我无法排序时,我运行它给域名的所有id的,这是它只采取其他部分Javascript 我有一个包含n个邮件id的数组。我想根据它的域名对它进行排序,javascript,Javascript,我有一个包含n个邮件id的数组。我想根据它的域名对它进行排序。我无法排序时,我运行它给域名的所有id的,这是它只采取其他部分 //var电子邮件=”test@gmail.com" //var domain=email.replace(/.@/,“”); //警报(域); var d1=“gmail.com” var d2=“hotmail.com” var d3=“yahoo.com” var email=[”test@gmail.com", "test@hotmail.com" , "te
//var电子邮件=”test@gmail.com"
//var domain=email.replace(/.@/,“”);
//警报(域);
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=“”;
对于(i=0;i使用数组的方法
:
让x=[”test@hotmail.com", "test@yahoo.com", "test@gmail.com"];
log('Before:');
控制台日志(x);
x、 排序(功能(a、b){
设domA=a.split('@')[1],
domB=b.split('@')[1];
if(domA>domB){
返回1;
}else if(domA console.log(x);
您可以使用Array.prototype.sort
函数进行排序
var email=[”test@zmail","test@gmail.com", "test@hotmail.com" , "test@yahoo.com"];
var sorted_emails=email.sort((a,b)=>a.split(“@”)[1]。localeCompare(b.split(“@”)[1]);
console.log(已排序的电子邮件)
你能发布并解释你的预期输出吗?这里发生了什么?提供的代码根本没有意义…我想根据域将邮件ID分离,例如gmail必须插入gmail块,hotmail必须插入hotmail块。不排序请给我一个快速响应
<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[i] == "hotmail.com"){
// text += email[i] + "<br>";
// document.getElementById("demo").innerHTML = text;
document.write("hii");
}
else if(dom[i] == "yahoo.com"){
// text += email[i] + "<br>";
// document.getElementById("demo").innerHTML = text;
document.write("swax");
}
else{
document.write(dom); }
}
// document.getElementById("demo").innerHTML = text;
</script>