arr的扩展方法、数组的遍历及其他方法

2023-11-07 02:10
文章标签 遍历 数组 方法 扩展 arr

本文主要是介绍arr的扩展方法、数组的遍历及其他方法,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

目录

一、 arr的扩展方法

1.  array.map的用法

2.  array.filter() 过滤

3.  array.reduce() "缩减" "累加器"

4.  fill填充

二、 数组的遍历

1.  For..of遍历

2.  For..in遍历

3. ForEach的用法

三、 数组的其他方法

1.   in用法

2.   some用法

3.   join方法

4.  split方法

5.  of方法


一、 arr的扩展方法

1.  array.map的用法

map() 方法返回一个新数组,数组中的元素为原始数组元素调用函数处理后的值。

        const arr=[1,2,3];

        const newarr=arr.map(item=>item+2);

        console.log(arr); //[1, 2, 3]

        console.log(newarr);  //[3, 4, 5]

        let arr1 = [2,3,4,5,6];

        function ckarr(v){

                return v+2;

        }

        console.log(arr1.map(ckarr)); //[4, 5, 6, 7, 8]

总结:map( )  不会对空数组进行检测,不会改变原始数组 

2.  array.filter() 过滤

filter() 方法创建一个新的数组,新数组中的元素是通过检查指定数组中符合条件的所有元素。

        const arr=[1,2,3,4];

        const newarr=arr.filter(item=>item%2==0);

        console.log(newarr);  //[2, 4]

        let arr1 = [2,3,4,5,6];

        function ckarr(v){

            return v>3; //返回符合条件的值

        }

        console.log(arr1.filter(ckarr)); //[4, 5, 6]

 总结:filter( )  不会对空数组进行检测,不会改变原始数组 

3.  array.reduce() "缩减" "累加器"

reduce() 方法接收一个函数作为累加器,数组中的每个值(从左到右)开始缩减,最终计算为一个值。对于空数组是不会执行回调函数的

  const arr=[1,2,3,4];

        const sum=arr.reduce((total,currentValue)=>{

            console.log('total:'+total,'currentValue'+currentValue);  

            return total+currentValue;

        })

        console.log(sum);  //10

        const arr1=[1,2,3,4];

        const sum1=arr1.reduce((total,currentValue)=>{

            return total+currentValue;

        },5)

        console.log(sum1);  //15

console.log('total:'+total,'currentValue'+currentValue); 的输出结果如下:

total:1   currentValue2 

total:3   currentValue3 

total:6   currentValue4 

其中,total  既是初始值又是返回值 ;currentValue 是当前值

4.  fill填充

语法:array.fill(value, start, end)

Value:必需。填充的值。

Start:可选。开始填充位置。

End:可选。停止填充位置 (默认为 array.length)。

        let arr=[1,2,3,4,5,6];

        arr.fill('x',1,4);

        console.log(arr);  //[1, "x", "x", "x", 5, 6]

二、 数组的遍历

1.  For..of遍历

for of遍历数组的值(遍历可迭代具备迭代器接口)

        const arr=['a','b','c','d'];

        for(let v of arr){

            console.log(v);  //a b c d

        }

for·of·关于对象的遍历

        const Person={realname:'张三',age:19};

        for(let key of Person){

            console.log(key);  //TypeError: Person is not iterable

        }

说明for of 无法单独应用遍历对象, 那如何用for of遍历出对象呢?

        const Person={realname:'张三',age:19};

        const keys=Object.keys(Person);  //获得所有对象的keys

        for(let k of keys){

            console.log(k); //realname  age

            console.log(`k:${k},v:${Person[k]}`);  //k:realname,v:张三 ; k:age,v:19

        }

 用键keys方法,Object.keys获得对象里的所有集合,这是keys是一个数组,一个集合。在用for of遍历这个数组。

2.  For..in遍历

for in遍历索引(遍历可枚举类型)

        const arr=['a','b','c','d'];

        for(let k in arr){

            console.log(k);  //0 1 2 3

        }

 

for in 关于对象的遍历

        const Person={realname:'张三',age:19};

        for(let key in Person){

            console.log(key);  

        }

 

3. ForEach的用法

forEach() 方法用于调用数组的每个元素,并将元素传递给回调函数。

        let arr=[1,2,3,4];

        arr.forEach((item,index)=>{

            console.log(`v:${item},k:${index}`);  //v:1,k:0 ; v:2,k:1 ; v:3,k:2 ; v:4,k:3

        })

 

三、 数组的其他方法

1.   in用法

in 判断元素是否是数组(对象)的属性

        let arr=['a','b','c',4];

        console.log(4 in arr);  //false

        let person={name:'张三',age:19};

        console.log('name' in person);  //true

        console.log(name in person);  //false

2.   some用法

arr.some 找满足条件的元素 找到则返回true 找不到则返回false

        let arr=[1,2,3,4];

        let fal=arr.some(item=>item>2);

        console.log(fal);  //true

        let fat=arr.some(item=>item>4);

        console.log(fat);  //false

3.   join方法

  join() 方法用于把数组中的所有元素放入一个字符串。

语法:array.join(separator);

       var arr = new Array(3);

       arr[0] = "George";

       arr[1] = "John";

       arr[2] = "Thomas";

       let arrq = arr.join(',');

       console.log(arrq);  //George,John,Thomas

       console.log(typeof arrq);  //string

4.  split方法

split把字符串 按照“分隔符”转为数组

        let str='1-2-3'

        let arr=str.split('-');

        console.log(arr);  //['1','2','3']

        let arr1=arr.join(',');  //1,2,3

        console.log(arr1);  //1,2,3

5.  of方法

Array.of负责把 一堆文本转成数组

        let a=2;

        let b=3;

        let c=4;

        console.log(Array.of(a,b,c));  //[2,3,4]

这篇关于arr的扩展方法、数组的遍历及其他方法的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/360563

相关文章

C# 比较两个list 之间元素差异的常用方法

《C#比较两个list之间元素差异的常用方法》:本文主要介绍C#比较两个list之间元素差异,本文通过实例代码给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友参考下吧... 目录1. 使用Except方法2. 使用Except的逆操作3. 使用LINQ的Join,GroupJoin

MySQL查询JSON数组字段包含特定字符串的方法

《MySQL查询JSON数组字段包含特定字符串的方法》在MySQL数据库中,当某个字段存储的是JSON数组,需要查询数组中包含特定字符串的记录时传统的LIKE语句无法直接使用,下面小编就为大家介绍两种... 目录问题背景解决方案对比1. 精确匹配方案(推荐)2. 模糊匹配方案参数化查询示例使用场景建议性能优

关于集合与数组转换实现方法

《关于集合与数组转换实现方法》:本文主要介绍关于集合与数组转换实现方法,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教... 目录1、Arrays.asList()1.1、方法作用1.2、内部实现1.3、修改元素的影响1.4、注意事项2、list.toArray()2.1、方

Python中注释使用方法举例详解

《Python中注释使用方法举例详解》在Python编程语言中注释是必不可少的一部分,它有助于提高代码的可读性和维护性,:本文主要介绍Python中注释使用方法的相关资料,需要的朋友可以参考下... 目录一、前言二、什么是注释?示例:三、单行注释语法:以 China编程# 开头,后面的内容为注释内容示例:示例:四

一文详解Git中分支本地和远程删除的方法

《一文详解Git中分支本地和远程删除的方法》在使用Git进行版本控制的过程中,我们会创建多个分支来进行不同功能的开发,这就容易涉及到如何正确地删除本地分支和远程分支,下面我们就来看看相关的实现方法吧... 目录技术背景实现步骤删除本地分支删除远程www.chinasem.cn分支同步删除信息到其他机器示例步骤

在Golang中实现定时任务的几种高效方法

《在Golang中实现定时任务的几种高效方法》本文将详细介绍在Golang中实现定时任务的几种高效方法,包括time包中的Ticker和Timer、第三方库cron的使用,以及基于channel和go... 目录背景介绍目的和范围预期读者文档结构概述术语表核心概念与联系故事引入核心概念解释核心概念之间的关系

在Linux终端中统计非二进制文件行数的实现方法

《在Linux终端中统计非二进制文件行数的实现方法》在Linux系统中,有时需要统计非二进制文件(如CSV、TXT文件)的行数,而不希望手动打开文件进行查看,例如,在处理大型日志文件、数据文件时,了解... 目录在linux终端中统计非二进制文件的行数技术背景实现步骤1. 使用wc命令2. 使用grep命令

Python中Tensorflow无法调用GPU问题的解决方法

《Python中Tensorflow无法调用GPU问题的解决方法》文章详解如何解决TensorFlow在Windows无法识别GPU的问题,需降级至2.10版本,安装匹配CUDA11.2和cuDNN... 当用以下代码查看GPU数量时,gpuspython返回的是一个空列表,说明tensorflow没有找到

XML重复查询一条Sql语句的解决方法

《XML重复查询一条Sql语句的解决方法》文章分析了XML重复查询与日志失效问题,指出因DTO缺少@Data注解导致日志无法格式化、空指针风险及参数穿透,进而引发性能灾难,解决方案为在Controll... 目录一、核心问题:从SQL重复执行到日志失效二、根因剖析:DTO断裂引发的级联故障三、解决方案:修复

C++ 检测文件大小和文件传输的方法示例详解

《C++检测文件大小和文件传输的方法示例详解》文章介绍了在C/C++中获取文件大小的三种方法,推荐使用stat()函数,并详细说明了如何设计一次性发送压缩包的结构体及传输流程,包含CRC校验和自动解... 目录检测文件的大小✅ 方法一:使用 stat() 函数(推荐)✅ 用法示例:✅ 方法二:使用 fsee