根据某些数组元素值从数组中获取值

时间:2018-07-30 07:13:45

标签: arrays swift

我有一个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]()

3 个答案:

答案 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入门的好书。