![JavaScript如何比较两个数组的内容是否相同,第1张 JavaScript如何比较两个数组的内容是否相同,第1张](/aiimages/JavaScript%E5%A6%82%E4%BD%95%E6%AF%94%E8%BE%83%E4%B8%A4%E4%B8%AA%E6%95%B0%E7%BB%84%E7%9A%84%E5%86%85%E5%AE%B9%E6%98%AF%E5%90%A6%E7%9B%B8%E5%90%8C.png)
Javascript不能直接用==或者===来判断两个数组是否相等,无论是相等还是全等都不行,以下两行JS代码都会返回false<script type="text/javascript">alert([]==[])alert([]===[])</script>要判断JS中的两个数组是否相同,需要先将数组转换为字符串,再作比较。以下两行代码将返回true<script type="text/javascript">alert([].toString()== [].toString())alert([].toString()===[].toString())</script>JS要比较两个数组是否有相同的元素,即两个数组所有元素都相同,但元素的顺序不一定一致。只就需要先将数组进行排序,再比较两个数组是否相等。试比较以下两行代码:<script type="text/javascript">alert([1,2,3].toString()== [3,2,1].toString())alert([1,2,3].sort().toString()== [3,2,1].sort().toString())</script>相同的a.filter(function(v){returnb.indexOf(v)>-1})不同的 a.filter(function(v){ return !(b.indexOf(v) >-1) }).concat(b.filter(function(v){ return !(a.indexOf(v) >-1)}))
如果两个数组中数据的顺序是一致的,那么可以使用for循环把array_A中的值添加到array_B中,具体代码如下:
for(var i = 0 i < array_B.length i++) {
array_B[i].NAME = array_A[i].NAME
}
最后,array_B就是想要的结果了。