我想撰寫一個函式,該函式將從物件陣列中回傳 id,但是當我呼叫該函式時,它會回傳我傳遞的內容。
export function getRecipeByID(requestId) {
recipes.find(function (recipe) {
return recipe.id === requestId;
});
return requestId;
}
例如我呼叫函式
getRecipeByID(1)
它回傳 1。
uj5u.com熱心網友回復:
我猜你想寫的是這樣的:
export function getRecipeByID(requestId) {
return recipes.find(function (recipe) {
return recipe.id === requestId;
});
}
請注意,它不回傳,requestId但結果recipes.find()
uj5u.com熱心網友回復:
那是因為你requestId在你的方法中回傳,而你想要的是回傳recipes.find......的結果。
export function getRecipeByID(requestId) {
return recipes.find(function (recipe) {
return recipe.id === requestId;
});
}
uj5u.com熱心網友回復:
您在使用 find which cause issue 后回傳 requestId
const recipes = [
{
id: 2,
name: 'pasta'
},
{
id: 3,
name: 'sandwich'
},
{
id: 4,
name: 'pizza'
}
]
function getRecipeById(requestId) {
const findRecipe = recipes.find(function (recipe) {
return recipe.id === requestId;
});
return findRecipe;
}
console.log(getRecipeById(2)); // it will return{ id:2, name:"pasta" }
uj5u.com熱心網友回復:
試試這個:
export function getRecipeByID(requestId) {
const recipe = recipes.find(item => item.id === requestId);
if (recipe && recipe.id) {
return recipe.id;
} else {
return null;
}
}
說明:您沒有將查找操作的結果(已找到的元素或 null 如果沒有匹配的元素)分配給任何變數,而只是回傳請求 ID。
另外:我建議你研究一下箭頭函式。它們已經可用多年了,使您的代碼更易于閱讀。:)
uj5u.com熱心網友回復:
如果您真的想要一個回傳與您獲取的 ID 相同的函式,請執行以下操作:
export function getRecipeByID(requestId) {
return requestId;
}
否則,如果想獲取物件串列中的物件,那么您可以簡單地嘗試:
const array1 = [{}]
export function getRecipeByID(requestId) {
return array1.find(element => element.id == requestId);
}
轉載請註明出處,本文鏈接:https://www.uj5u.com/yidong/378796.html
標籤:javascript 节点.js
