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);