Javascript 关于节点js中的JSON属性

Javascript 关于节点js中的JSON属性,javascript,node.js,Javascript,Node.js,我已重新编辑此问题以提供更多详细信息 我想同时在“results.article.tags”和“results.tags”中获取标签。并在“tags”中添加一个新属性,该属性的名称为“checked” “results.article.tags”类似于: ['test','newTag'] “results.tags”是: [{"_id":"5319267b99d3402a0b2dd0ba","name":"test","hidden":true}, {"name":"default","_

我已重新编辑此问题以提供更多详细信息

我想同时在“results.article.tags”和“results.tags”中获取标签。并在“tags”中添加一个新属性,该属性的名称为“checked”

“results.article.tags”类似于:

['test','newTag']
“results.tags”是:

[{"_id":"5319267b99d3402a0b2dd0ba","name":"test","hidden":true},
 {"name":"default","_id":"5319321d112d81101aa93778","__v":0,"hidden":true},
 {"name":"newTag","_id":"d1193772531aa819321d8110","__v":0,"hidden":true}]
我想得到像这样的“标签”:

[{"_id":"5319267b99d3402a0b2dd0ba","name":"test","hidden":true,"checked":"checked"},
 {"name":"newTag","_id":"531ebb68a872eccc0f64a0af","__v":0,"hidden":true,"checked":"checked"}]
这是我的密码:

var tags = [{}];
async.each(results.tags, function(tag, callback) {
    if (results.article.tags.indexOf(tag.name) >= 0) {
        tag.checked = 'checked';
        tags.push(tag);
    }
    callback();
}, function() {
    console.log(JSON.stringify(tags));
});
但我只知道:

[{},
 {"_id":"5319267b99d3402a0b2dd0ba","name":"test","hidden":true},
 {"name":"newTag","_id":"531ebb68a872eccc0f64a0af","__v":0,"hidden":true}]
问题是我找不到“签入”标签。因此,我在
tag.checked='checked'
之后添加
console.log(tag)
。结果是:

{ _id: 5319267b99d3402a0b2dd0ba, name: 'test', hidden: true }
{ name: 'newTag',
  _id: 531ebb68a872eccc0f64a0af,
  __v: 0,
  hidden: true }
[{},{"_id":"5319267b99d3402a0b2dd0ba","name":"test","hidden":true},{"name":"newT
 ag","_id":"531ebb68a872eccc0f64a0af","__v":0,"hidden":true}]
结果显示,
tag.checked='checked'
不起作用,这让我更加困惑


然后我尝试了
console.log(tag.checked)
。这次
“选中”
返回。所以,
tag.checked='checked'
已经起作用了,但是为什么我在JSON数据中找不到'checked'?
tag.checked='checked'
向JSON数据添加属性是错误的吗?

因为标记不在文章标记列表中?这里没有足够的信息来提供帮助。@用户:最可能的原因是上面显示的
控制台.log
实际上没有运行,但是代码中其他地方的另一个没有运行,并且其输出的标记没有选中
属性
console.log
语句有它们的位置,但是没有什么比在调试器中单步检查代码来查看它的工作方式和发生了什么更合适的了。@Andy:如果标记不在文章标记列表中,那么tags.push(标记)将不会运行。但实际上,标签会得到新的标签。我重写了这个问题以提供更多细节。@T.J.克劳德:我确信在我运行的代码中没有其他
console.log
。结果确实由
console.log(tag)
显示。