【发布时间】:2021-04-21 13:56:31
【问题描述】:
想想一家公司,员工以不同的身份工作。员工将根据他们的能力被雇用。每天应该有类似的容量。
我希望days数组中array1的值均匀分布。
例如:星期四 -> 2 项和 5 值,星期五 -> 1 项和 5 值 星期六 -> 1 项和 6 值,星期日 -> 2 项和 6 值。
让它以相似的数字分布。
我有 2 个这样的数组:
let days = ["Thursday","Friday","Saturday","Sunday"]
var array1: [T] = [T(name: "a", value: 3),T(name: "b", value: 2),T(name: "c", value: 5),T(name: "d", value: 1),T(name: "e", value: 6),T(name: "f", value: 4)]
如何将array1 对象分配给days 数组?
我试过了:
var arrayValueTotal = 0
for t in array1{
arrayValueTotal = arrayValueTotal + t.value
}
var upperLimit = Double(Double(arrayValueTotal)/Double(days.count)) // This will get value per day. 22/4 = 5.5
for i in (0...days.count-1){ //Handling the days
for j in array1{
if j.value >= Int(upperLimit){ //handling the array1's value
}else if j.value < Int(upperLimit){
}
}
}
想要的结果如:
let combinedResult = [("Thursday": [T(name: "a", value: 3),
T(name: "b", value: 2)]),
("Friday": [T(name: "c", value: 5)]),
("Saturday": [T(name: "e", value: 6)]),
("Sunday": [T(name: "f", value: 5),
T(name: "d", value: 1)])]
这是 T 类:
class T {
var name:String
var value:Int
init(name:String, value:Int) {
self.name = name
self.value = value
}
}
我怎样才能得到它?提前致谢。
【问题讨论】:
-
这不是有效的语法。
-
@Alexander 更新了语法。
-
T("a":3)应该是什么? -
@JoakimDanielson 已更新。
-
@BorderFree 您还应该翻译所有标识符、字符串、cmets 等您这里的大多数目标受众都不会说土耳其语,因此如果您希望您的问题得到解决,您需要使用英语任何关注/互动。
标签: arrays swift dictionary