Javascript 有可能只有值的对象吗?
我有一段代码:Javascript 有可能只有值的对象吗?,javascript,node.js,node-mongodb-native,Javascript,Node.js,Node Mongodb Native,我有一段代码: db.collection('coders', function(err, collection) { collection.find(toFind).toArray(function(err, items) { res.send(items); }); 其中toFind类似于{“position”:2,“$or”:[{“position”:{“$lt”:20},{“name”:“whatever”} 它是一个字符串,所以
db.collection('coders', function(err, collection) {
collection.find(toFind).toArray(function(err, items) {
res.send(items);
});
其中toFind
类似于{“position”:2,“$or”:[{“position”:{“$lt”:20},{“name”:“whatever”}
它是一个字符串,所以前面的代码不会执行,因为它需要一个对象。我已经知道,我可以从字符串创建对象,比如
var obj={}
obj[key] = {value}
但是我如何创建没有键的对象呢?JavaScript中的所有内容都是对象。但是,您显然需要一个简单的变量:
obj[key] = value;
您在上面发布的对象的定义与此完全相同:
var obj = {
"position": 2,
"$or": [{
"position": {
"$lt": 20
}
}, {
"name": "whatever"
}]
};
要将
toFind
从字符串转换为可以传递到find
的对象,请使用:
不,也有基本类型,比如布尔、字符串、数字等。不过,这更像是一种内部类型。例如,即使是普通的
number
也有number.prototype
中的方法。数字是原语,当您尝试从中访问属性时,JavaScript会自动装箱原语并访问该对象包装器的属性。请参阅我的答案
toFind = JSON.parse(toFind);