2016-11-09 79 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將包含所有數量大於零的字典對象。

我建議你做一個食物或午餐項目的模型類和應用過濾器模型本身,而不是使用字典。