javascript对象操作:根据指定条件选择属性
javascript object manipulation: select properties according to specified condition
我有一个如下形式的javascript对象:
{ url1: {status: "ok", updatedAt: someDate1},
url2: {status: "error", updatedAt: someDate2},
url3: {status: "error", updatedAt: someDate3},
...
}
我想创建一个新的对象,它包含"status"属性为"error"的所有元素
在上面的例子中,我希望创建以下对象:
{ url2: {status: "error", updatedAt: someDate2},
url3: {status: "error", updatedAt: someDate3}
}
遍历所有属性并复制匹配的对象?
function filterByProperty(obj, predicate) {
var selected={};
for (p in obj) {
if (obj.hasOwnProperty(p) && predicate(obj[p])) {
selected[p] = obj[p];
}
}
return selected;
}
并使用进行呼叫
filterByProperty(object, function(o) {o.status === "error";});
我喜欢将函数作为参数传递。。。
这应该可以满足您的需要(o
是您的原始对象):
var errorObj = {};
for (k in o){
var v = o[k];
if (v.status === 'error'){
errorObj[k] = v;
}
}
相关文章:
- javascript对象操作:根据指定条件选择属性
- Jquery:当两个或多个条件为true时,选择一个元素
- 当选择不同的父母时,我如何使条件形式的孩子消失并清除
- JavaScript / jquery:如果选择了单选按钮并且数据属性符合条件,则添加类
- Jquery - 如果条件为真,则遍历选择器并执行某些操作
- jQuery选择器中的条件处理
- 根据条件选择JSon对象
- jQuery条件选择问题
- 带有jQuery Mobile的多个条件选择器
- 嵌入闪亮应用程序中的数据表的条件选择类型
- Jquery数据属性条件选择器
- 使用jQuery根据条件选择/取消选中单选按钮的问题
- Jquery中根据条件选择随机值
- Svg D3.js如何使用条件选择
- Javascript条件选择
- Jquery以ID为条件选择表单项
- 默认有条件选择下拉值
- 条件选择应该是非此即彼
- 如何根据条件选择文本区域的数量
- 根据某些条件选择选项