gpt4 book ai didi

javascript - 在 JavaScript 中指定为自己的对象索引的对象作为字符串的好处

转载 作者:可可西里 更新时间:2023-11-01 10:42:43 26 4
gpt4 key购买 nike

我正在检查来自 MongoDB 的 runCommand 方法的代码,用于我的教育:

function ( obj, extra ){
if ( typeof( obj ) == "string" ){
var n = {};
n[obj] = 1;
obj = n;
if ( extra && typeof( extra ) == "object" ) {
for ( var x in extra ) {
n[x] = extra[x];
}
}
}
return this.getCollection( "$cmd" ).findOne( obj );
}

我专注于这个 block :

var n = {};
n[obj] = 1;
obj = n;

现在,documentation说到方法:

A database command, specified either in document form or as a string. If specified as a string, db.runCommand() transforms the string into a document.

虽然这简短地解释了第三行,但我试图找出开发人员对这一行的想法:

n[obj] = 1;

我认为这样做的好处是,这可以用于对象的平等目的,也许可以在内部调用中使用,其中:

var checkEq = n["{num: 1}"];

将返回“truey”1,这对于快速和干净的相等性检查特别有用,但是经验丰富的开发人员对这种技巧有用的情况的任何见解/保证都会很好。

最佳答案

我相信n[obj] = 1;用于规范化传入的命令。我们可以在 issue-commands 的文档中看到, 他们所有的示例命令都是 runCommand({command: 1}) 的形式.例如,如果有人使用 runCommand("buildInfo")然后是字符串 "buildInfo"将被转换为对象 {"buildInfo": 1} .

为什么他们使用这个对象表示法,键是命令,值是一,我无法理解。我梳理了文档和代码,原因是该值为 1,但我的搜索结果是空手而归。

关于javascript - 在 JavaScript 中指定为自己的对象索引的对象作为字符串的好处,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33898487/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com