我有这样的领域的对象:
{
d_name: { field_name: true },
d_date: { field_date: ISODate() },
status: 'success'
}
我需要从开头获取字段d_
,然后将它们推送到一个数组..
我有这样的领域的对象:
{
d_name: { field_name: true },
d_date: { field_date: ISODate() },
status: 'success'
}
我需要从开头获取字段d_
,然后将它们推送到一个数组..
这是小提琴希望它可以帮助你
var q = [];
for(k in s)
{
if(k.indexOf("d_") == 0){
q.push(s[k]);
}
我需要获取字段...
你的意思是你需要得到钥匙?如果是这样:
var d_keys = Object.keys(obj).filter(function (key) {
return !key.indexOf("d_");
});
如果你真的想要这些值:
var d_values = Object.keys(obj).filter(function (key) {
return !key.indexOf("d_");
}).map(function (key) {
return obj[key];
});
请注意,这使用了各种 ES5 方法(Object.keys
和Array.prototype.filter
)Array.prototype.map
,因此根据您的环境,您可能需要适当的垫片。
以下是两个片段的工作示例。
您可以遍历对象的键,然后比较键名的开头:
var myObj = {
d_name: { field_name: true },
d_date: { field_date: ISODate() },
status: 'success'
};
var outArray = {};
for(var key in myObj) {
if(key.length >= 2 && key.substr(0,2) == "d_") {
outArray[key] = myObj[key];
}
}