我有一个struct数组,该结构包含5个元素,我想获取一个元素等于某个值的数组中的所有值
然后我有一个像上面这样的结构数组,
我想打印parr.station等于某个值的parr中的所有元素
struct allproducts {
let sendtime : String
let max_value : String
let station : String
let product : String
let availability : String
}
var parr = [allproducts]()
答案 0 :(得分:0)
假设parr
已经包含对象,则可以使用filter
方法简单地实现它:
let filtered = parr.filter { $0.station == "your value" }
显然,您可以将“您的值”更改为所需的值。
侧栏注释: 命名该结构应遵循驼峰大写约定。您应该将其命名为:AllProducts
或更合逻辑地称为Product
。
答案 1 :(得分:0)
let arryoucertainValue = parr.filter {$0.max_value <= 10}
使用过滤器函数基于某些条件从数组中获取值,例如,在这里,我已获取包含max_value属性<= 10
的数组的所有元素答案 2 :(得分:0)
// declaring the model in the appropiate file
struct Product {
let sendtime : String
let max_value : String
let station : String
let product : String
let availability : String
}
//instantiating the products
let prod1 = Product(station : "a", ....)
let prod2 = Product(station : "b", ...)
let prod3 = Product(station : "c", ...)
//adding the products to a collection
let allProducts= [prod1 , prod2 , prod3 ]
//filter all products based on a condition
let filteredArray = allProducts.filter { $0.station == "a") }
print(filteredArray)
我建议您读一本关于OOP入门的好书。