gpt4 book ai didi

javascript - 无法从JS中的对象读取属性

转载 作者:行者123 更新时间:2023-11-28 07:38:48 28 4
gpt4 key购买 nike

我无法读取通过 MongoDB 获得的对象属性。我使用 MeteorJS。我创建这样的对象

header = ["name"];
values = ["word1", "word2"];
var tmp = {};
var data = new Array();
for (var cnt = 0; cnt < values.length; cnt++){
for (var i = 0; i < header.length; i++) {
temp[header[i]] = values[i];
}
data.push(temp);

然后我像这样插入 MongoDB

for (obj in data) {
Badwords.insert(data[obj]);
}

我选择数据但无法读取属性。有浏览器控制台

Badwords.findOne()

Object {_id: "uNRNDtp3RGrKA6gWz", "name": "word1"}

Badwords.findOne().hasOwnProperty("name")

false

Badwords.findOne().hasOwnProperty('name')

false

Badwords.findOne().hasOwnProperty('\"name\"')

false

Badwords.findOne().hasOwnProperty('\'name\'')

false

Badwords.findOne().hasOwnProperty("\'name\'")

false

Badwords.findOne().hasOwnProperty("\"name\"")

false

Badwords.findOne()

Object {_id: "uNRNDtp3RGrKA6gWz", "name": "word1"}

Badwords.findOne()["name"]

undefined

但是

Badwords.findOne().hasOwnProperty("_id")
true

也许属性名称有问题:它是 "name" ,但不是 namekeys 未定义。

Badwords.findOne().keys
undefined

richardtz,我添加方法getKey():

var myObj = Badwords.findOne()
undefined

myObj.getkey = function(obj){
var keys = [];
for(var key in obj){
keys.push(key);
}
return keys;
}
myObj.getkey(myObj)
["_id", "name", "getkey"]

最佳答案

我运行了你的代码并发现了 2 个错误。第一个是在第一个 for 循环末尾缺少 } ,第二个是定义一个 tmp 对象并使用 temp 代替。我运行的正确代码是:

header = ["name"];
values = ["word1", "word2"];
var temp = {};
var data = new Array();
for (var cnt = 0; cnt < values.length; cnt++) {
for (var i = 0; i < header.length; i++) {
temp[header[i]] = values[i];
}
data.push(temp);
}
for (obj in data) {
Badwords.insert(data[obj]);
}

然后 hasOwnProperty 给出所需的结果

Badwords.findOne().hasOwnProperty("name");
true

关于javascript - 无法从JS中的对象读取属性,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28297566/

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