Difference between sort and sortInPlace in swift 2?

前端 未结 2 1554
有刺的猬
有刺的猬 2021-01-18 11:48

I have been trying to use the sortInPlace function in swift but it is not working. When I use the sort function instead of sortinplace it works.

Please explain the d

相关标签:
2条回答
  • 2021-01-18 12:00

    FWIW, in Swift 3 there is no sortInPlace. instead there is a sort & sorted.

    var mutableArray = [19, 7, 8, 45, 34]
    
    mutableArray.sortInPlace() // error : 'sortInPlace()' has been renamed to 'sort()'
    
    mutableArray.sort() // 
    print(mutableArray) // [7, 8, 19, 34, 45]
    
    mutableArray.sorted()
    
    print(mutableArray) // [19, 7, 8, 45, 34]
    let anotherArray = mutableArray.sorted()
    
    print(anotherArray) // [7, 8, 19, 34, 45]
    

    If you want to use sortInPlace or sort which are mutating functions then the array must be a var, otherwise you could get a misleading error saying:

    'sort()' has been renamed to 'sorted()'

    0 讨论(0)
  • 2021-01-18 12:02
    var mutableArray = [19, 7, 8, 45, 34]
    
    // function sort sorts the array but does not change it. Also it has return
    
    mutableArray.sort()
    
    mutableArray
    // prints 19, 7, 8, 45, 34
    
    // function sortInPlace will mutate the array. Do not have return
    
    mutableArray.sortInPlace()
    
    mutableArray
    // prints 7, 8, 19, 34, 45
    
    0 讨论(0)
提交回复
热议问题