рони, я мож чего не понимаю, но почему эти два массива равны? ['a','b',
'c','c'] и ['b','c',
'a','a']
var a = ['a','b','c','c'], c = ['b','c','a','a'];
Gozar, я не говорил, что она меня не устроила. Я сказал, что в IE работать не будет.
melky, тему с ходу не нашел, но за JSDoc спасибо)
За переделку извиняюсь. Первое, что пришло в голову (мог накосячить, голова к вечеру не варит)
function arrComp(x, z) {
if(x.length !== z.length) return false;
var i = 0, a = {};
while(i in x) {
if(x[i] !== z[i]) x[i] in a ? a[x[i]]++ : a[x[i]] = 1;
i++;
}
while(i--) if(z[i] in a) if(--a[z[i]] < 0) return false;
return true;
};
var a = ['a','b','c','c'], c = ['b','c','a','a'];
alert(arrComp(a,c)); // false
var a = ['c','b','a','d','a'], c = ['a','d','c','a','b'];
alert(arrComp(a,c)); // true