DEV

JavaScript 配列の比較(要素ごとにやらないといけないらしい)

Pythonだと余裕で出来た気がするんだけど、javascritpだと配列の比較は、要素ごとにやらないといけないんすかね。
何かいい方法あったら教えてください。

<script type="text/javascript">
var a = [0,1];
var b = [0,1];
//これだと違うよになる。
if(a == b) alert('同じだよ');
else alert('違うよ');
//これなら同じだよになる。
if(a[0] == b[0] &amp;&amp; a[1] == b[1]) alert('同じだよ');
else alert('違うよ');
</script>

配列の比較関数をつくるとしたらこんな感じでしょうか?

<script type="text/javascript">
var a = [0,1];
var b = [0,1];
var c = [0,1,2];
var array_compare = function(a1,a2){
if(a1.length != a2.length) return false;
else{
for(var i=0; i<a1.length; i++){
if(a1[i] != a2[i]) return false;
}
return true;
}
}
//同じだよになる
if(array_compare(a,b)) alert('同じだよ');
else alert('違うよ');
//違うよになる
if(array_compare(a,c)) alert('同じだよ');
else alert('違うよ');
</script>