2017-12-14 30 views
0

두 개의 배열이 있습니다. 등 1,3,4 같이 어떤 숫자를 저장하는 배열 한 어레이에서, 각각의 시간 등Swift 3의 다중 인덱스 중에서 하나의 인덱스로 배열에 데이터를 저장할 때 분 단위의 특정 요일을 필터링하는 방법

totalFilterActionArray : ["1", "21", "1", "2", "1", "2", "1", "1", "1", "20", "1", "1", "1", "1", "6", "1", "9", "1", "13"] 

다른 하나는 저장되고 시간 스탬프

totalFilterActionTimeArray : ["11:22:34", "11:36:05", "11:38:00", "11:38:17", "11:38:31", "11:38:46", "11:40:51", "11:40:56", "11:41:25", "12:02:46", "12:12:59", "12:13:06", "12:58:46", "12:58:48", "12:59:39", "12:59:48", "01:00:02", "01:00:07", "01:00:21"] 

따라서, 위의 두

같은 일부 타임 스탬프를 갖는다 배열 인덱스 수는 동일합니다.

지금 totalFilterActionTimeArray 위의 가정과 같이 totalFilterActionArray 데이터의 각 특정 시간에 대해 11시에는 "11:22:34", "11:36:05"와 같은 간격이 있습니다.이 모든 것을 가져 가고 싶습니다. totalFilterActionArray에서 시계 데이터 평균 (인덱스 카운트로 나눈 값의 합)입니다. 그 다음 다음 시간에 12시에 시계 등은 24 시간 동안 계속됩니다.

그리고 시계가 2 '시계 또는'4 '시계처럼 누락 된 경우 시간 배열에 0 (제로 값) 값으로 해당 시간 데이터를 추가하려고한다고 가정합니다. 풋 배열 newAppactionsarray처럼 여기

I 아웃 할이다 [총 12'o 클럭 appactions 데이터 합/총 12 "총 11'o 클럭 appactions 데이터 합/총 11'o 클럭의 시간 간격을 카운트" 'O 시계 시간 간격 카운트, 012시 16 분까지 24 시간];

나는 여기에 시간을 원하지 않는다. 나는 단지 appactionsarray 데이터 만 원한다. 내가

for(index , value) in totalFilterActionTimeArray.enumerated() { 

value.components(separatedBy: ":").first! 

    someotherArray.append(totalFilterActionArray[index]) 

    } 

그러나 우리는 예상대로 위의 논리는 모든 시간에서 모든 데이터를 받고, 작동하지 않는 경우 다음 시도이를 위해

These data should store into other array, Because I am showing those data each hour as single line in some graph. 

, 우리는 어떻게 사용할 수있는 각 시간 필터링 할 수 있습니다 그 배열 데이터에서 내가 위에서 설명한 것처럼.

여기에서 내 문제를 완전히 설명했으면 좋겠다. 문제에 직면 한 사람이 있으면 이해하고 아래에 의견을 말하면 더 설명 할 수있다.

누구든지 나를 제안 할 수 있습니까? 어떻게해야합니까? 감사!

+0

'totalFilterActionTimeArray' A는'12의 앞에' "'시작이 빠져 : 58 : 46'이다 오타 또는 일부 질문이 있습니까? – shash678

+0

형식 실수입니다. –

+0

질문의 이러한 내용을 자세히 설명해 주시겠습니까? "totalFilterActionArray에서이 인덱스를 평균으로 가져오고 싶습니다. 따라서 완전한 11'o 시계 데이터는 단일 색인입니다. 마치 1 + 21 + 전체 데이터가 11'os 단일 데이터의 합계 또는 평균과 같은 데이터를 완료 할 때까지 걸리고, 다음 시간에 12'o 시계 등은 24 시간 동안 계속됩니다. " –

답변

0

.. 나는 완전히 문제를 이해하지 오전하지만 난이 솔루션은 당신을 위해 helpFull 희망

var totalFilterActionArray = ["1", "21", "1", "2", "1", "2", "1", "1", "1"] 
var totalFilterActionTimeArray = ["11:22:34", "11:36:05", "11:38:00", "11:38:17", "11:38:31", "11:38:46", "11:40:51", "11:40:56", "11:41:25"] 
var gettingArray = [String]() 
override func viewDidLoad() { 

    super.viewDidLoad() 
    configureView() 
} 

override func didReceiveMemoryWarning() { 
    super.didReceiveMemoryWarning() 
    // Dispose of any resources that can be recreated. 
} 

func configureView() { 
    var array = [String]() 
    var arrayInt = [Int]() 
    var filterAction = 0 

    for i in 1...24 { 
     for(index , value) in totalFilterActionTimeArray.enumerated() { 
      let time = value.components(separatedBy: ":").first! 
      if Int(time)! <= i && Int(time)! > (i - 1) { 
       filterAction = filterAction + Int(totalFilterActionArray[index])! 
       arrayInt.append(Int(totalFilterActionArray[index])!) 
       array.append(value) 
      } 

     } 
//   print(arrayInt) 
//   print(array) 
     if array.count == 0 { 
      gettingArray.append(0) 
     } else { 
      gettingArray.append(gettingTotalTime(array, filterActionValue: filterAction)) 
     } 
     arrayInt.removeAll() 
     array.removeAll() 
     filterAction = 0 
    } 
    print(gettingArray) 
} 

func gettingTotalTime(_ array: [String], filterActionValue: Int) -> Int 
{ 
    return filterActionValue/array.count 
}