私はそのようなフィールドを持つオブジェクトを持っています:
{
d_name: { field_name: true },
d_date: { field_date: ISODate() },
status: 'success'
}
で始まるフィールドを取得してから、d_
それらを1つの配列にプッシュする必要があります..
私はそのようなフィールドを持つオブジェクトを持っています:
{
d_name: { field_name: true },
d_date: { field_date: ISODate() },
status: 'success'
}
で始まるフィールドを取得してから、d_
それらを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];
}
}
フィールドを取得する必要があります...
キーを取得する必要があるということですか?もしそうなら:
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 q = [];
for(k in s)
{
if(k.indexOf("d_") == 0){
q.push(s[k]);
}