我正在尋找最快和最優雅的方式來執行此操作。我看到類似的問題,他們都是非常具體的問題。我對Lodash相當陌生,而且我大多使用_.find。我不知道如何使用_.filter得到我想要的東西,一個新的JSON數組只用過濾的回報:使用Lodash或Angular過濾另一個JSON屬性
的陣列我從過濾:
var mod1 = [{"Codigo" : "001", "Valor" : "Rojo"},
{"Codigo" : "002", "Valor" : "Blue"},
{"Codigo" : "003", "Valor" : "Grey"},
{"Codigo" : "004", "Valor" : "Green"},
{"Codigo" : "005", "Valor" : "Pink"},
{"Codigo" : "006", "Valor" : "Gold"},
{"Codigo" : "007", "Valor" : "Black"},
{"Codigo" : "008", "Valor" : "White"},
{"Codigo" : "009", "Valor" : "Magenta"},
{"Codigo" : "010", "Valor" : "Marine Blue"},
{"Codigo" : "011", "Valor" : "Orange"}];
我的功能在控制器,prod是單個產品的JSON,其中包含5個修改器。像上面這樣的每個修飾符的完整列表存儲在本地,而另一個接收到通過web服務進行過濾。要過濾的值只是「代碼」,而我從Web服務接收到的字符串是用逗號分隔的字符串。
$scope.mod11 = Productos.getMod1(prod.mod1);
我居然收到看起來像這樣來篩選:
"mod1":"001, 002, 005"
這是我在過濾可怕的嘗試:
getMod1: function(mods) {
return _.filter(mod1, angular.fromJson(mods));
/*return mod1;*/
}
我已經試過了幾個不同的方法,包括對mod進行拆分(',)。我只需要將字符串中的所有Codigo ==帶回任何值。
編輯:最後的結果,我希望在這個特殊的情況下看起來像這樣爲$ scope.mod11
[{"Codigo" : "001", "Valor" : "Rojo"},
{"Codigo" : "002", "Valor" : "Blue"},
{"Codigo" : "005", "Valor" : "Pink"}]
最終結果應該是什麼? – softvar
scope.mod11的最終結果應該是= [{「Codigo」:「001」,「Valor」:「Rojo」},{「Codigo」:「002」,「Valor」:「Blue」},{「Codigo 「:」005「,」Valor「:」Pink「}]。 – mitbanip