JS數組查詢詳解

一、JS數組查詢方法

查詢在JS中常常用到,在處理數據的時候也經常要查詢數據。JS提供了多種方法來查詢數組中的元素,下面就來一一介紹它們。

二、JS數組條件查詢

在實際開發中,我們常常需要根據某些條件來查詢數組中的元素,比如查詢大於某個數值的元素、查詢特定字元串開頭的元素等等。這時,我們可以使用JS的篩選方法filter()。

//篩選出大於10的元素
let arr = [1,15,3,19,7,23];
let res = arr.filter((item) => {
    return item > 10;
});
console.log(res); //[15,19,23]

//篩選出以字母a開頭的元素
let strArr = ["apple","banana","avocado","orange"];
let res2 = strArr.filter((str) => {
    return str.startsWith("a");
});
console.log(res2); //["apple", "avocado"]

三、JS數組查詢並生成新數組

有時候我們需要按照某種規則查詢出數組中符合條件的元素並生成一個新的數組。這時,我們可以使用JS的map()方法。

//將大於10的元素平方後生成一個新數組
let arr = [1,15,3,19,7,23];
let res = arr.map((item) => {
    if (item > 10) {
        return item * item;
    } else {
        return item;
    }
});
console.log(res); //[1, 225, 3, 361, 7, 529]

//將數組中每個字元串的首字母改為大寫並生成一個新數組
let strArr = ["apple","banana","avocado","orange"];
let res2 = strArr.map((str) => {
    return str.charAt(0).toUpperCase() + str.slice(1);
});
console.log(res2); //["Apple", "Banana", "Avocado", "Orange"]

四、JS數組查詢指定元素

有時候我們需要查詢數組中指定位置的元素,這時,我們可以使用JS的索引查詢方法Array[index]。

let arr = [1,15,3,19,7,23];
console.log(arr[0]); //1
console.log(arr[2]); //3
console.log(arr[5]); //23

五、JS數組查詢對象

在開發中,我們常常需要查詢數組中符合某些屬性的對象,這時,我們可以使用JS的find()方法。

let arr = [
    { name: "apple", price: 5 },
    { name: "banana", price: 3 },
    { name: "orange", price: 4 },
    { name: "avocado", price: 7 }
];
let res = arr.find((obj) => {
    return obj.name === "orange";
});
console.log(res); //{ name: "orange", price: 4 }

六、JS數組查詢是否存在

有時候我們只需要知道某個元素是否存在於數組中,這時,我們可以使用JS的includes()方法。

let arr = [1,15,3,19,7,23];
console.log(arr.includes(3)); //true
console.log(arr.includes(5)); //false

七、JS數組查詢indexof

在查詢元素在數組中的位置及出現次數時,可以使用JS的indexOf()方法。

let arr = [1,2,3,2,1];
console.log(arr.indexOf(2)); //1
console.log(arr.indexOf(1)); //0
console.log(arr.indexOf(4)); //-1
console.log(arr.lastIndexOf(2)); //3
console.log(arr.lastIndexOf(1)); //4

八、JS數組查詢指定字元

有時候我們需要查詢數組中某個元素是否包含某個字元,這時,我們可以使用JS的search()方法。

let strArr = ["apple","banana","avocado","orange"];
console.log(strArr[0].search("p")); //1
console.log(strArr[1].search("z")); //-1

九、JS數組查詢重複元素個數

在查詢數組中某個元素重複出現的次數時,我們可以使用filter()方法和reduce()方法。

let arr = [1,2,3,2,1];
let res = arr.filter((item,index,arr) => {
    return arr.indexOf(item) === index;
}).map((item) => {
    return { key: item, count: arr.reduce((total,num) => {
        if (num === item) {
            return total + 1;
        } else {
            return total;
        }
    },0) };
}).sort((a,b) => {
    return b.count - a.count;
});
console.log(res); //[{key: 1, count: 2}, {key: 2, count: 2}, {key: 3, count: 1}]

十、JS數組查詢不到key報錯

在查詢數組中某個元素是否存在時,如果未查詢到該元素,JS將返回undefined,為了避免運行時報錯,我們可以添加條件判斷。

let arr = [1,15,3,19,7,23];
if (arr.indexOf(5) !== -1) {
    console.log("存在");
} else {
    console.log("不存在");
}

原創文章,作者:小藍,如若轉載,請註明出處:https://www.506064.com/zh-tw/n/279836.html

(0)
打賞 微信掃一掃 微信掃一掃 支付寶掃一掃 支付寶掃一掃
小藍的頭像小藍
上一篇 2024-12-20 15:05
下一篇 2024-12-20 15:05

相關推薦

  • JS Proxy(array)用法介紹

    JS Proxy(array)可以說是ES6中非常重要的一個特性,它可以代理一個數組,監聽數據變化並進行攔截、處理。在實際開發中,使用Proxy(array)可以方便地實現數據的監…

    編程 2025-04-29
  • Python導入數組

    本文將為您詳細闡述Python導入數組的方法、優勢、適用場景等方面,並附上代碼示例。 一、numpy庫的使用 numpy是Python中一個強大的數學庫,其中提供了非常豐富的數學函…

    編程 2025-04-29
  • Python返回數組:一次性搞定多種數據類型

    Python是一種多用途的高級編程語言,具有高效性和易讀性的特點,因此被廣泛應用於數據科學、機器學習、Web開發、遊戲開發等各個領域。其中,Python返回數組也是一項非常強大的功…

    編程 2025-04-29
  • Python去掉數組的中括弧

    在Python中,被中括弧包裹的數據結構是列表,列表是Python中非常常見的數據類型之一。但是,有些時候我們需要將列表展開成一維的數組,並且去掉中括弧。本文將為大家詳細介紹如何用…

    編程 2025-04-29
  • Python操作數組

    本文將從多個方面詳細介紹如何使用Python操作5個數組成的列表。 一、數組的定義 數組是一種用於存儲相同類型數據的數據結構。Python中的數組是通過列表來實現的,列表中可以存放…

    編程 2025-04-29
  • 解析js base64並轉成unit

    本文將從多個方面詳細介紹js中如何解析base64編碼並轉成unit格式。 一、base64編碼解析 在JavaScript中解析base64編碼可以使用atob()函數,它會將b…

    編程 2025-04-29
  • Node.js使用Body-Parser處理HTTP POST請求時,特殊字元無法返回的解決方法

    本文將解決Node.js使用Body-Parser處理HTTP POST請求時,特殊字元無法返回的問題。同時,給出一些相關示例代碼,以幫助讀者更好的理解並處理這個問題。 一、問題解…

    編程 2025-04-29
  • Python二維數組對齊輸出

    本文將從多個方面詳細闡述Python二維數組對齊輸出的方法與技巧。 一、格式化輸出 Python中提供了格式化輸出的方法,可以對輸出的字元串進行格式化處理。 names = [‘A…

    編程 2025-04-29
  • Java創建一個有10萬個元素的數組

    本文將從以下方面對Java創建一個有10萬個元素的數組進行詳細闡述: 一、基本介紹 Java是一種面向對象的編程語言,其強大的數組功能可以支持創建大規模的多維數組以及各種複雜的數據…

    編程 2025-04-28
  • Python數組隨機分組用法介紹

    Python數組隨機分組是一個在數據分析與處理中常用的技術,它可以將一個大的數據集分成若干組,以便於進行處理和分析。本文將從多個方面對Python數組隨機分組進行詳細的闡述,包括使…

    編程 2025-04-28

發表回復

登錄後才能評論