InterSection

InterSection(集合)

以下会来实作怎麽找寻两个array的集合


先使用两个回圈来实作BigO(n^2)

let array1 = [1,2,3,4,5]
let array2 = [1,3,5,7,9]

function interSection(arrayA, arrayB){
    let result = [] //建立空阵列

    for(let i = 0; i < arrayA.length; i++){
        for(let j = 0; j<arrayB.length; j++){
            if(arrayA[i] === arrayB[j]){
                result.push(arrayA[i]) //塞入该数值
            }
        }
    } return result //回传结果
}
console.log(interSection(array1,array2)) //[1, 3, 5]

小试身手复习一下Object使用

let c = "Hello"

function count(inputStr){
    let inputArr = inputStr.split('')
    let inputOBJ = {}
    
    for(let i = 0; i<inputArr.length; i++){
        if(!inputOBJ[inputArr[i]]){
            inputOBJ[inputArr[i]] = 1
        }else{
            inputOBJ[inputArr[i]] +=1
        }
    }

    for(let t in inputOBJ){
        if(inputOBJ[t] >= 2){
            console.log(t)
        }
    }
}
count(c) //l

使用Object计算 BigO(n)

let array1 = [1,2,3]
let array2 = [1,3,5]

function Counter(arrayA, arrayB){
    let result = []
    let array3 = arrayA.concat(arrayB)
    let arrayOBJ = {}

    for(let i = 0; i < array3.length; i++){
        if(!arrayOBJ[array3[i]]){ //若false则arrayOBJ{key:1:value:1}
            arrayOBJ[array3[i]] = Number.parseInt(1)
        }else{
            arrayOBJ[array3[i]] += 1 //重复之後key+1
        }
        console.log(arrayOBJ)
       
    } 
    for(let property in arrayOBJ){ //
        console.log(result)
        if(arrayOBJ[property] >= 2){ //找寻arrayOBJ的key有没有value >=2
            result.push(property) //并且塞入result
        }
    }return result
}
console.log(Counter(array1, array2)) //[ '1', '3' ]

<<:  伸缩自如的Flask [day9] request

>>:  Average pair

JS 12 - 继承方法

大家好! 我们花了两天介绍原型链和原型继承的原理,今天就要介绍继承的方法了。 我们进入今天的主题吧!...

铁人赛 Day13-- MySQL函式

mysqli_num_rows() 取得查询笔数 可以使用 mysqli_num_rows() 函式...

[Day3]PHP的资料型态03

PHP的资料型态 Object 对象 要创建一个新的对象 object,使用 new 语句实例化一个...

#1- What Node.Js Actually is?

维基百科上面对 node.js 是这样描述的: 「 Node.js 是能够在服务器端运行 JavaS...

背包系统详解

//装备药水:实现药水单向(若装备栏内没药水可直接装备)、双向置换(若装备栏内已经有药水,直接点击新...