Swift中的数组操作和重新排序 [英] Array Manipulation and reordering in Swift

查看:584
本文介绍了Swift中的数组操作和重新排序的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

给定一个数组(例如[1,0,2,0,0,3,4]),实现
将非零元素移动到数组开头(其余部分)的方法

Given an array (for example, [ 1, 0, 2, 0, 0, 3, 4 ]), implement methods that moves the non-zero elements to the beginning of the array (the rest of the elements don't matter)

我实现了如下,它可以工作,但是我想知道做短的方法吗?

I have implemented as follows, it works but I wonder shorter way of doing it?

import Foundation

var inputArray = [ 1, 0, 2, 0, 0, 3, 4 ]

func remoZeros (inputArray :[Int]) -> [Int]
{
  var nonZeroArray = [Int]()
  var zeroArray = [Int]()

  for item in inputArray
  {
    if item != 0
    {
      nonZeroArray.append(item)
    }
    else
    {
      zeroArray.append(item)
    }
  }

return nonZeroArray + zeroArray

}

var result = remoZeros (inputArray: inputArray)


推荐答案

您可以尝试

var inputArray = [ 1, 0, 2, 0, 0, 3, 4 ]

func remoZeros (inputArray :[Int]) -> [Int] {

   return inputArray.filter{$0 != 0} + inputArray.filter{$0 == 0}
}

这篇关于Swift中的数组操作和重新排序的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆