Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/475.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 数组中缺少数字_Javascript_Arrays - Fatal编程技术网

Javascript 数组中缺少数字

Javascript 数组中缺少数字,javascript,arrays,Javascript,Arrays,当我开始通过排序从数组中搜索元素时,遇到了一个问题: 功能缺失编号(编号){ var缺失=-1; var sorted=numbers.sort(函数(a,b){ a-b }) for(var i=sorted[0];i{ nums.sort((a,b)=>a-b); 对于(变量i=1;i

当我开始通过排序从数组中搜索元素时,遇到了一个问题:

功能缺失编号(编号){
var缺失=-1;
var sorted=numbers.sort(函数(a,b){
a-b
})
for(var i=sorted[0];ilog(missing-number(numbers))
代码中存在大量语法和逻辑错误;以下是一些:

  • if(numbers(i)==-1){
    有语法错误(您可能指数组索引为
    numbers[i]
    )和逻辑错误(将数组索引与
    -1
    进行比较不会告诉您是否缺少了数字,除非缺少的数字恰好是
    -1

  • console.log(missing-number(numbers))
    是您(正确地说,至少在代码中的某个地方)尝试通过减法计算缺少的数字的地方。不幸的是,这在语法或逻辑上都不正确

  • var i=sorted[0]
    应该只是
    var i=0
    而不是
    中索引
    0
    处元素的值

这是一个工作版本;如果有多个缺失的数字,它将返回第一个,并且假定步长始终是序列中的
1

const missing=nums=>{
nums.sort((a,b)=>a-b);
对于(变量i=1;iconsole.log(缺失([11,19,18,17,15]);
阵列解决方案中的代码缺失数100%性能

func missingNumber( array: [Int]) -> Int {

    let length = array.count+1
    let totalSum = length * (length+1)/2

    let actualSum = array.reduce(0, { x, y in
        x + y
    })

    return totalSum - actualSum
}
另一个解决方案是

public func solution(_ array : inout [Int]) -> Int {
    // write your code in Swift 4.2.1 (Linux)
     var dict: [Int:  Int] = [:]

    array.map{

        dict[$0] = $0
    }

    var missingNumber = 1

    for (_, _) in dict {

        if dict[missingNumber] == nil {

            return missingNumber
        }
        missingNumber = missingNumber+1
    }

    return missingNumber
}

number
numbers
不是函数…但是您在console.log中调用
number
,并在循环中调用
numbers(i)
-您声称您得到的一些输出为-1,但实际上,您的代码无效