Javascript 使用值与对象数组进行比较以在该对象中返回不同的值?
我有一个对象数组:Javascript 使用值与对象数组进行比较以在该对象中返回不同的值?,javascript,arrays,reactjs,Javascript,Arrays,Reactjs,我有一个对象数组: (7) [{…}, {…}, {…}, {…}, {…}, {…}, {…}] 还有一个id值,我想在这个对象数组中查找它 id=“c2a6e78d2bc34cffb08d6e17a5631467” 然后使用这个id,我想将id与我拥有的匹配的对象返回给我。之后,我只想得到该对象的一个不同属性,比如object.createdAt 我的问题是:是否可以在该数组上使用.map,然后使用该id将包含并匹配该id的一个对象返回给我?到目前为止,我已经使用了map,和filter,
(7) [{…}, {…}, {…}, {…}, {…}, {…}, {…}]
还有一个id
值,我想在这个对象数组中查找它
id=“c2a6e78d2bc34cffb08d6e17a5631467”
然后使用这个id
,我想将id
与我拥有的匹配的对象返回给我。之后,我只想得到该对象的一个不同属性,比如object.createdAt
我的问题是:是否可以在该数组上使用.map
,然后使用该id
将包含并匹配该id
的一个对象返回给我?到目前为止,我已经使用了map
,和filter
,但可能我用错了方法…使用:
使用:
是否可以使用.map覆盖此数组,然后使用此id
要将包含并匹配此id的一个对象返回给我
不,这是不可能的(或者它的用法不合适),因为
创建一个新数组,其结果是调用上提供的函数
调用数组中的每个元素
在这种情况下,它将创建一个具有属性createdAt
的数组,而不是具有所有属性的对象(包括需要检查的id
)。因此,您无法根据id
属性拾取正确的对象
相反,使用
返回数组中满足
提供测试功能。否则将返回未定义
像这样:
var obj=array.find(o=>o.id==“c2a6e78d2bc34cffb08d6e17a5631467”)代码>
现在在obj
中,对象的id
等于c2a6e78d2bc34cffb08d6e17a5631467
。您可以检查对象是否未定义(已找到),然后根据需要访问其属性
console.log(obj?obj.createdAt:“未找到”)代码>
var数组=[{
id:“c2a6e78d2bc34cffb08d6e17a5631467”,
创建日期:“2017-01-02”
},
{
id:“其他id”,
创建日期:“2017-01-03”
},
{
id:“some-other-id-2”,
创建日期:“2017-01-03”
},
];
var obj=array.find(o=>o.id==“c2a6e78d2bc34cffb08d6e17a5631467”);
console.log(obj?obj.createdAt:“未找到”)代码>
是否可以使用.map覆盖此数组,然后使用此id
要将包含并匹配此id的一个对象返回给我
不,这是不可能的(或者它的用法不合适),因为
创建一个新数组,其结果是调用上提供的函数
调用数组中的每个元素
在这种情况下,它将创建一个具有属性createdAt
的数组,而不是具有所有属性的对象(包括需要检查的id
)。因此,您无法根据id
属性拾取正确的对象
相反,使用
返回数组中满足
提供测试功能。否则将返回未定义
像这样:
var obj=array.find(o=>o.id==“c2a6e78d2bc34cffb08d6e17a5631467”)代码>
现在在obj
中,对象的id
等于c2a6e78d2bc34cffb08d6e17a5631467
。您可以检查对象是否未定义(已找到),然后根据需要访问其属性
console.log(obj?obj.createdAt:“未找到”)代码>
var数组=[{
id:“c2a6e78d2bc34cffb08d6e17a5631467”,
创建日期:“2017-01-02”
},
{
id:“其他id”,
创建日期:“2017-01-03”
},
{
id:“some-other-id-2”,
创建日期:“2017-01-03”
},
];
var obj=array.find(o=>o.id==“c2a6e78d2bc34cffb08d6e17a5631467”);
console.log(obj?obj.createdAt:“未找到”)代码>哦,哇。我用错了。非常感谢。将标记为答案。哦,哇。我用错了。非常感谢。将标记为答案。
var myDesiredObject = myData.find(element => element.id == myDesiredId);