我有对象的数组:JavaScript函数可以CONSOLE.LOG值,但不会返回它
let array = [
{
id: 0,
name: "Name0"
},
{
id: 1,
name: "Name1"
}
]
和功能,通过数组迭代,搜索对象具有指定ID属性,而应返回对象名称属性:
function getName1(id) {
array.map((object) => {
if(object["id"] === id)
return object["name"]
})
}
但是这个代码
console.log(getName1(0)) // undefined
回报不确定
如果我只是CONSOLE.LOG对象的名称在函数内部
function getName2(id) {
array.map((object) => {
if(object["id"] === id)
console.log(object["name"])
})
}
它工作完全正常:
getName2(0) // "Name1"
我基本上只是想
getName1(0)
返回
Name0
我该如何做到这一点?
请仅使用合适的标签。这与[tag:asynchronous]或[tag:undefined]无关,可以说与[tag:return]无关。 –
您的函数getName1不返回任何内容。 return语句不在getName1函数中。你需要迭代数组来寻找匹配,然后返回该值。我不认为地图是你想要的。查看减少或只是迭代数组 – terpinmd