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/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

发表回复

登录后才能评论