var s=["abc","cba","def","fed","fff","bca","edf"];
//思路:首先写一个函数,判断两个词是不是异构词,然后再创建一个变量存放结果就行
//判断是否是异构词,就判断每个字符出现的次数是否相同就可以,对每个字符串创建一个对象保存每个字符出现的次数,最后比较这两个对象是否相同
function isthesame(s,t) {
if(s.length!==t.length){
return false;
}
var len=s.length;
var objs={} ;
var objt={};
for(var i=0;i<len;i++){
objs[s[i]]=objs[s[i]]+1||1;
objt[t[i]]=objt[t[i]]+1||1;
}
//比较两个对象是否相等,不能直接等于,要判断属性是否一样;
for(let k in objs){
if(objs[k]!==objt[k]){
return false;
}
}
return true;
}
var result=[];
result.push(new Array(s[0])); //便于开始的比较
for(var i=1;i<s.length;i++){
var count=0;
for( var j in result){
//此处注意的是第一次查找
if(isthesame(s[i],result[j][0])==true){
result[j].push(s[i]);
break;
}else{
count++;
}
}
if(count==result.length){
result.push(new Array(s[i]));
}
}
console.log(result);
var obj1={a:2,b:3,c:4};
var obj2={a:2,b:3,c:4};
console.log(obj1==obj2);//false