例如,我有一個陣列:
arr= ['notebook', 2, 'pens', 'bags', newElement]
我想在陣列中查找并回傳“筆”的索引,我該如何寫:
let found = arr.find(item => arr.indexOf(item) if item =='pens')
uj5u.com熱心網友回復:
對于帶有條件的一行回傳,請使用 if 陳述句的快捷方式。(條件?'如果為真':'如果為假')
let arrow = () => true ? 'true' : 'false'
但是你不能在 find 中寫,因為無論你寫什么,find 都會檢查回呼的回傳值是真還是假。從回呼回傳的內容在內部處理并回傳 find 內的專案而不是回呼函式。IndexOf 基本上可以滿足您的需求。看這個:
function find(array, callback){
for (const item of array){
if (callback(item)){// callback function return
return item
}
}
}
let array = ['notebook', 'pen']
let res = find(array, item =>item == 'pen')
//let res = find(array, item => (true))// this returns notebook
uj5u.com熱心網友回復:
如果你真的想使用箭頭函式,你可以這樣做。
arr.findIndex(item => item === "pens");
然而,這是不必要的。您可以簡單地使用indexOf:
arr.indexOf("pens");
轉載請註明出處,本文鏈接:https://www.uj5u.com/shujuku/362776.html
標籤:javascript if 语句
上一篇:根據用戶輸入對字典使用for回圈
下一篇:使用條件陳述句的算術運算
