查找两个数组中的相同元素

1、最简单的办法进行遍历排序:

两个for循环遍历,执行次数最多,效率较低

let var1 = [ 1, 2, 3 ]

let var2 = [ 2, 3, 4 ]

let list = [ ]

for ( let i = 1; i < var1.length; i++ ){

    for ( let j = 1; j < var2.length; j++ ){

        if (var1[ i ] === var2 [ j ]) list.push( var1[ i ] )

    }

}

如果要求不能重复元素:在push前indexof判断是否存在

2、归并排序

对两个数组分别进行sort排序,然后判断两个数组中的大小,小的那个++,如果两个数组值一样,加入新的数组

let var1 = [ 1, 2, 3 ]

let var2 = [ 2, 3, 4 ]

var1.sort()

var2.sort()

let list = [ ]

let i = 0, j = 0

while( i  <  arr1.length  &&  j  <  arr2.length ) {

    if( arr1[i]  ===  arr2[j] ) {

        list.add( arr1[i] )

        i++

        j++

    }

    else if ( arr1[i]  <  arr2[j] ) i++

    else j++

}

你可能感兴趣的:(查找两个数组中的相同元素)