如果数组中个元素是字符串,这么做方便,如果不是,那就用@lyw_2008_happy的方法就行
var arr1 = ['a','b','c','d']var arr2 = ['x','b','c','y']
var long = arr1.length<arr2.length?arr2:arr1
var short = arr1.length<arr2.length?arr1:arr2
var str = ","+long.toString()+","
var result=[]
for(var i in short){
if(str.indexOf(","+short[i]+",")>=0){
result.push(short[i])
}
}
alert(result.toString())
var str1 = [1,2,3,4,5,6,7]//已知数组var str2 = [1,2,5,4,8,9]//对比数据
var c = []//相同集合
var num//相同的有多少个
for (var i = 0i <str1.lengthi ++) {
//第一次循环处理第一组数组,
for (var y = 0y <str2.lengthy ++) {
//第二次循环保证外面一次循环,里面第二次全部循环一次
if(str1[i]===str2[y]){
//得到相同项
c.push(str1[i])
num=c.length
}
}
}
alert(c)
alert(num)
//也是写JS的,有时间多交流啊
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>