JS 比较两个数组是否相等 是否拥有相同元素

JavaScript028

JS 比较两个数组是否相等 是否拥有相同元素,第1张

要判断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>

function union(arr){

    arr = arr || []

    var tmp = {}

    for(var i = 0, len = arr.length i < len i++){

        var obj = arr[i]        

        if(obj.id in tmp){

            tmp[obj.id].num += obj.num

        }else{

            tmp[obj.id] = obj

        }

    }

    

    var result = []

    for(var key in tmp){

        result.push(tmp[key])

    }

    

    return result

}

需要准备的材料分别是:电脑、html编辑器、浏览器。

1、首先,打开html编辑器,新建html文件,例如:index.html。

2、在index.html的<script>标签中,输入js代码:

var a = [1, 6, 8, 5, 23, 6, 6, 7, 8], b = [], c = []

for (var i = 0i <a.lengthi++) {

if (c.indexOf(a[i]) === -1) {

c.push(a[i])

} else {

b.push(a[i])

}

}

document.body.innerText = b

3、浏览器运行index.html页面,此时会打印出数组a中重复的数据。