2016-11-09 49 views
-1

我想添加数量大于零的另一个数组上的响应。没有迭代我的数组是可能的。是他们的任何功能,因为我的数组有很多价值。请帮助任何帮助,将不胜感激。快速排列数组过滤器

{ 
      id = 1; 
      img = "http://alatiffy.com/admin/uploads/1478601364.png"; 
      name = "Executive Lunch Tiffy"; 
      price = 99; 
      quantity = 1; 
     }, 
      { 
      id = 2; 
      img = "http://alatiffy.com/admin/uploads/1478601409.png"; 
      name = "Deluxe Lunch Tiffy"; 
      price = 149; 
      quantity = 0; 
     }, 
      { 
      id = 4; 
      img = "http://alatiffy.com/admin/uploads/1478583806.jpg"; 
      name = "KADHI PAKODA CHAWAL"; 
      price = 59; 
      quantity = 1; 
      status = Y; 
     }, 
      { 
      id = 2; 
      img = "http://alatiffy.com/admin/uploads/1478583832.jpg"; 
      name = "DAL MAKHNI CHAWAL"; 
      price = 59; 
      quantity = 0; 
      status = Y; 
     }, 
      { 
      id = 5; 
      img = "http://alatiffy.com/admin/uploads/1478583850.jpg"; 
      name = "SHAHI PANEER CHAWAL"; 
      price = 59; 
      quantity = 0; 

status = Y; 
    }, 
+0

你想在这个数组中过滤什么?你有没有把数组中的每个字典变成单独的对象? – Tj3n

+0

使用Swift'Array'和'filter'函数。好简单。 – vadian

+0

@AanchalGupta检查我的答案。你会得到一些想法。 –

回答

-1

尝试这个代码,

var filteredResults = arr.filter { $0.quantity > 0 } 
+1

字典没有名为'quantity'的属性。 – Fogmeister

0

夫特3.x的

假设你保持在上述JSON数据中类型的字典的阵列[String:AnyObject]

所以你的字典将是

var dict = Dictionary<String,AnyObject>() 

和你的阵列将是上述类型字典

var array = [Dictionary<String,AnyObject>]() 

的阵列为了阵列筛选数量大于0

let filteredArray = array.filter{$0["quantity"] as! Int > 0} 

filteredArray将包含所有数量大于零的字典对象。

我建议你做一个食物或午餐项目的模型类和应用过滤器模型本身,而不是使用字典。