假设我创建一个对象如下:
var myObject = {
"ircEvent": "PRIVMSG",
"method": "newURI",
"regex": "^http://.*"
};
Run Code Online (Sandbox Code Playgroud)
什么是去除财产的最好方式regex与新落得myObject如下?
var myObject = {
"ircEvent": "PRIVMSG",
"method": "newURI"
};
Run Code Online (Sandbox Code Playgroud) 在AJAX请求之后,有时我的应用程序可能会返回一个空对象,例如:
var a = {};
Run Code Online (Sandbox Code Playgroud)
我怎样才能检查是否是这种情况?
如何遍历JavaScript对象中的所有成员,包括作为对象的值.
例如,我怎么能循环这个(访问每个的"your_name"和"your_message")?
var validation_messages = {
"key_1": {
"your_name": "jimmy",
"your_msg": "hello world"
},
"key_2": {
"your_name": "billy",
"your_msg": "foo equals bar"
}
}
Run Code Online (Sandbox Code Playgroud) 我只是在Firefox的JavaScript控制台中尝试过,但以下两个语句都没有返回true:
parseFloat('geoff') == NaN;
parseFloat('geoff') == Number.NaN;
Run Code Online (Sandbox Code Playgroud) 有没有一种干净的方法从对象中删除未定义的字段?
即
> var obj = { a: 1, b: undefined, c: 3 }
> removeUndefined(obj)
{ a: 1, c: 3 }
Run Code Online (Sandbox Code Playgroud)
我遇到了两个解决方案:
_.each(query, function removeUndefined(value, key) {
if (_.isUndefined(value)) {
delete query[key];
}
});
Run Code Online (Sandbox Code Playgroud)
要么:
_.omit(obj, _.filter(_.keys(obj), function(key) { return _.isUndefined(obj[key]) }))
Run Code Online (Sandbox Code Playgroud) 你能告诉我如何从json对象中删除所有null和空字符串值吗?删除密钥时出错.
这是我到目前为止,但它不能正常工作:
$.each(sjonObj, function(key, value) {
if(value == "" || value == null) {
delete sjonObj.key;
}
});
Run Code Online (Sandbox Code Playgroud)
var sjonObj= {
"executionMode": "SEQUENTIAL",
"coreTEEVersion": "3.3.1.4_RC8",
"testSuiteId": "yyy",
"testSuiteFormatVersion": "1.0.0.0",
"testStatus": "IDLE",
"reportPath": "",
"startTime": 0,
"durationBetweenTestCases": 20,
"endTime": 0,
"lastExecutedTestCaseId": 0,
"repeatCount": 0,
"retryCount": 0,
"fixedTimeSyncSupported": false,
"totalRepeatCount": 0,
"totalRetryCount": 0,
"summaryReportRequired": "true",
"postConditionExecution": "ON_SUCCESS",
"testCaseList": [
{
"executionMode": "SEQUENTIAL",
"commandList": [
],
"testCaseList": [
],
"testStatus": "IDLE",
"boundTimeDurationForExecution": 0,
"startTime": 0,
"endTime": 0,
"label": null,
"repeatCount": 0,
"retryCount": 0, …Run Code Online (Sandbox Code Playgroud)在我的代码中,当选择特定的rowID时,Postgres表行中的所有信息都会被字符串化.
var jsonRes = result.message.rows;
document.getElementById('panel').innerHTML = '<pre>' + JSON.stringify(jsonRes[0], null, "\t") + '</pre>'
Run Code Online (Sandbox Code Playgroud)
结果看起来像这样:
{
"ogc_fid": 143667,
"relkey": 288007,
"acct": "000487000A0010000",
"recacs": "12.5495 AC",
"shape_star": 547131.567383,
"shape_stle": 3518.469618,
"objectid": 307755,
"zone_dist": "MU-3",
"pd_num": null,
"council_da": null,
"long_zone_": "MU-3",
"globalid": "{D5B006E8-716A-421F-A78A-2D71ED1DC118}",
"ord_num": null,
"notes": null,
"res_num": null,
"effectived": 1345766400000,
"shape.star": 629707.919922,
"shape.stle": 3917.657332,
"case_numbe": null,
"common_nam": null,
"districtus": null
}
Run Code Online (Sandbox Code Playgroud)
我是JS的新手,想知道是否有一种简单的方法可以完全排除包含空值的列 - 这个函数大致如下所示:
function hide(jsonObject) {
if (property === null) {
hide property
} else {
return str
}
} …Run Code Online (Sandbox Code Playgroud) 假设我有一个像这样的猫鼬模式:
var mongoose = require('mongoose');
var Schema = mongoose.Schema;
var testSchema = new Schema({
name: {type: String, required: true},
nickName: {type: String}
});
var Test = module.exports = mongoose.model('Test', testSchema);
Run Code Online (Sandbox Code Playgroud)
我使用变量Test声明了CRUD操作的方法.从那一个这样的方法是更新,其定义如下:
module.exports.updateTest = function(updatedValues, callback) {
console.log(updatedValues); //this output is shown below
Test.update(
{ "_id": updatedValues.id },
{ "$set" : { "name" : updatedValues.name, "nickName" : updatedValues.nickName } },
{ multi: false },
callback
);
};
Run Code Online (Sandbox Code Playgroud)
现在,我在我的节点路由器中使用此方法,如下所示:
router.put('/:id', function(req, res, next) {
var id = req.params.id,
var name = req.body.name, …Run Code Online (Sandbox Code Playgroud) 我必须合并两个对象,但我不想将未定义的值分配给已定义的值。
A = { activity: 'purchased', count: undefined, time: '09:05:33' }
B = { activity: 'purchased', count: '51', time: undefined }
Run Code Online (Sandbox Code Playgroud)
当我尝试 Object.assign 时,未定义正在替换具有值的字段。
我想要的是
C = { activity: 'purchased', count: '51', time: '09:05:33' }
Run Code Online (Sandbox Code Playgroud) 我正在尝试找到一种创建对象的方法,在创建时它会忽略未定义的值.
在下面的示例中,变量someNames在创建对象时具有未知内容.
const someNames = {
catName: 'purry',
rabbitName: 'floppy',
turtleName: 'shelly'
};
const { catName, dogName, hamsterName, rabbitName } = someNames;
const animalNames = Object.assign({}, {
catName,
dogName,
hamsterName,
rabbitName
});
console.log(animalNames);// {catName: 'purry', rabbitName: 'floppy'}
Run Code Online (Sandbox Code Playgroud)
实际记录的内容是:
{
catName: 'purry',
dogName: undefined,
hamsterName: undefined,
rabbitName: 'floppy'
}
Run Code Online (Sandbox Code Playgroud)