我很想知道如何通過使用函式、for 回圈和條件陳述句來訪問嵌套在陣列中的物件的屬性。
const details = [
{
first: "Liverpool",
second: 'Man City',
third: 'Chelsea',
fourth: 'Tottenham',
similarity: 'EPL'
},
{
first: "Real Madrid",
second: 'Barcelona',
third: 'Villareal',
fourth: 'Sevilla',
similarity: 'La Liga'
}
]
function team(name,prop){
for (let i = 0; i < details.length; i ){
if(details[i].first === name && details[i].name[prop] === prop){
return true;
} else {
return false;
}
}
}
console.log(team('Liverpool','EPL'));
這不是主要代碼,但這應該可以。我正在嘗試檢查函式呼叫中傳遞的第二個引數是否是其中一個物件的屬性。如果它是其中之一,它應該回傳true,如果不是,它應該回傳false。對我來說,主要問題在第 22 行:
....details[i].name[prop] === prop)
我真的不知道如何使這項作業。請幫忙。
uj5u.com熱心網友回復:
如果想法總是與相似性進行比較,則方法是:
function team(name,prop){
for (let i = 0; i < details.length; i ){
if(details[i].first === name && details[i].similarity === prop){
return true;
} else {
return false;
}
}
}
team('Liverpool', 'EPL')
但如果屬性可以是動態的,它將是:
function team(name, prop, cup){
for (let i = 0; i < details.length; i ){
if(details[i].first === name && details[i][prop] === cup){
return true;
} else {
return false;
}
}
}
team('Liverpool', 'similarity', 'EPL')
另一種選擇是,如果您想查看所有名稱,則可以是這樣的:
function team(name,prop){
for (let i = 0; i < details.length; i ){
const teams = Object.entries(details[i])
const similarity = details[i].similarity;
for (let j = 0; j < teams.length; j ){
if (teams[j][1] === name && similarity === prop){
return true;
}
}
}
return false;
}
team('Man City', 'EPL')
希望這可以幫助。
轉載請註明出處,本文鏈接:https://www.uj5u.com/qiye/462026.html
標籤:javascript 数组 功能 循环 目的
上一篇:如何創建一個回圈,從更大的資料幀創建多個子集資料幀?
下一篇:在回圈中更改函式的名稱
