根據輸入關鍵字過濾數組列表(列表搜索功能)


function  query(key,list){
        // 我這里直接return(也可賦給變量return變量出去)
        return list.filter(item => {
            // 如果list(name)包含key(輸入框) => true
            if(item.includes(key)){
                // 返回item
                return item;
           }
       })
    }
var list = ['北京市','北海道','上海','上帝'];//數據列表
query('北',list) //["北京市", "北海道"]

使用到了兩個數組方法

1.includes()

解釋:該方法用來判斷一個數組是否包含一個指定的值,如果是返回 true,否則false。
JavaScript版本:ECMAScript 6
用法:arr.includes(searchElement,fromIndex)
searchElement:必須。需要查找的元素值。
fromIndex:可選。從該索引處開始查找 searchElement。如果為負值,則按升序從 array.length + fromIndex 的索引開始搜索。默認為 0。
細節:布爾值。如果找到指定值返回 true,否則返回 false。

2.filter()

解釋:方法創建一個新的數組,新數組中的元素是通過檢查指定數組中符合條件的所有元素。
JavaScript版本:1.6
用法:arr.filter(function(currentValue,index,arr), thisValue)
function(currentValue, index,arr):必須。函數,數組中的每個元素都會執行這個函數
函數參數:
currentValue:必須。當前元素的值
index:可選。當前元素的索引值
arr:可選。當前元素屬於的數組對象
thisValue:可選。對象作為該執行回調時使用,傳遞給函數,用作 “this” 的值。
如果省略了 thisValue ,“this” 的值為 “undefined”
細節:返回數組,包含了符合條件的所有元素。如果沒有符合條件的元素則返回空數組。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM