无法访问数组中的单个对象?
Cant access single object in array?
您好,我在访问数组中的对象时遇到问题...我不知道是因为我更新了 Chrome 还是因为我添加了 Preact,然后从我的 React 应用程序中删除了 Preact。问题是这样的:
标签是对象数组:
var fullTag = tags.filter(tag => tag.tagId==tagId);
console.log(fullTag);
结果我在控制台中得到了这个:
[{…}]
当我展开它时,我得到了这个:(图片)
所以除了
没有办法访问它
console.log(Object(fullTag[0]).tag);
在所有其他方面我都不确定...这是为什么?!我可以发誓直到昨天我都可以使用 fullTag.tag 访问它...有人可以解释一下吗?
filter()
方法创建一个新数组,其中包含通过所提供的 回调 函数实现的测试的所有元素。
所以,在你filter
一个array
之后,你会得到另一个array
,即使只有一个item
通过了test
函数.这就是为什么您无法使用 fullTag.tag
.
访问它的原因
解决方案是使用其 index
.
访问一个元素
let tags=[{"id":1,"tag":"tag1"},{"id":2,"tag":"tag2"}];
let tagId=1;
var fullTag = tags.filter(tag => tag.id==tagId);
console.log(fullTag);
console.log(Object(fullTag[0]).tag);
如果 tagId
属性 在您的数组中是唯一的,您可以使用 find
方法。
var fullTag = tags.find(tag => tag.id==tagId);
现在您可以通过 wished
.
的方式访问您的 tag
属性
console.log(fullTag.tag);
标签是对象数组:
var fullTag = tags.filter(tag => tag.tagId==tagId);
console.log(fullTag);
结果我在控制台中得到了这个:
[{…}]
当我展开它时,我得到了这个:(图片)
所以除了
没有办法访问它console.log(Object(fullTag[0]).tag);
在所有其他方面我都不确定...这是为什么?!我可以发誓直到昨天我都可以使用 fullTag.tag 访问它...有人可以解释一下吗?
filter()
方法创建一个新数组,其中包含通过所提供的 回调 函数实现的测试的所有元素。
所以,在你filter
一个array
之后,你会得到另一个array
,即使只有一个item
通过了test
函数.这就是为什么您无法使用 fullTag.tag
.
解决方案是使用其 index
.
let tags=[{"id":1,"tag":"tag1"},{"id":2,"tag":"tag2"}];
let tagId=1;
var fullTag = tags.filter(tag => tag.id==tagId);
console.log(fullTag);
console.log(Object(fullTag[0]).tag);
如果 tagId
属性 在您的数组中是唯一的,您可以使用 find
方法。
var fullTag = tags.find(tag => tag.id==tagId);
现在您可以通过 wished
.
tag
属性
console.log(fullTag.tag);