Joe*_*oel 14 javascript jquery
我有一个类似的对象
var obj = { 'Earth': 1, 'Sky': 2, 'Tree': 3, 'Sand': 4 };
我正在尝试使用此基于值进行过滤
$.filter(obj,function(i, value){
return value>3;
});
Run Code Online (Sandbox Code Playgroud)
然而,这是空的.
预期产出
{'Sand': 4 }
当对象的索引无法一致地处理并且可能变化时,是否有一种按值过滤的方法.
试试这样的东西......
function filterObjectProperties(obj, filtercb){
var ret = {};
for(var p in obj)
if(obj.hasOwnProperty(p))
if(filtercb(obj[p]))
ret[p] = obj[p];
return ret;
}
var obj = { 'Earth': 1, 'Sky': 2, 'Tree': 3, 'Sand': 4 };
var newObj = filterObjectProperties(obj, function(val){
return val > 3;
});
Run Code Online (Sandbox Code Playgroud)
https://jsfiddle.net/dht2L55L/
| 归档时间: |
|
| 查看次数: |
1191 次 |
| 最近记录: |