我对这些领域有反对意见:
{
d_name: { field_name: true },
d_date: { field_date: ISODate() },
status: 'success'
}
我需要以d_
开头的字段然后将它们推送到一个数组..
答案 0 :(得分:1)
您可以迭代对象的键,然后比较键名的开头:
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];
}
}
答案 1 :(得分:1)
我需要得到田地......
你的意思是你需要拿到钥匙吗?如果是这样的话:
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
),因此根据您的环境,您可能需要适当的垫片。
以下是两个片段的working examples。
答案 2 :(得分:1)
Here是帮助你的小提琴希望
var q = [];
for(k in s)
{
if(k.indexOf("d_") == 0){
q.push(s[k]);
}