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