我有这个数组对象
var customers = [{
"id": "1",
"name": "1",
"position": "1",
"office": "<button data-id=2 class='btn btn-danger'><i class='fa fa-trash fa-lg'></i> Delete record</button>",
"active": "1"
}, {
"id": "2",
"name": "2",
"position": "2",
"office": "<button data-id=2 class='btn btn-danger'><i class='fa fa-trash fa-lg'></i> Delete record</button>",
"active": 0
}];
我需要的是制作一个只有活跃客户的新阵列,新阵列看起来像
var activeCustomers = [{
"id": "1",
"name": "1",
"position": "1",
"office": "1",
"active":"1"
}
}];
因为您可能会看到只有一位活跃客户?
答案 0 :(得分:1)
您可以在array.prototype(MDN reference)
上使用.filter
var activeCustomers = customers.filter(function(customer) { return customer.active; });
注意:您必须在IE9下使用MDN polyfill进行浏览器支持。
答案 1 :(得分:1)
您可以使用jQuery函数grep:
var activeCustomers = $.grep(customers, function(c){return c.active;});
请注意,这适用于所有浏览器;替代方法是使用Array.filter,这是JavaScript的一个(相对)新增功能,并且在某些旧版浏览器中会失败。