首页 > 其他分享 >js中数组方法总结

js中数组方法总结

时间:2024-07-06 12:19:25浏览次数:13  
标签:总结 arr console log js let 数组 arr0

改变原数组的方法有:

栈方法

  • push:数组末尾追加任意数量的元素,返回修改后数组的长度
  • pop:数组末尾移除最后一项,返回移除的项

队列方法

  • unshift:数组前端添加任意个项并返回新数组的长度
  • shift:移除数组中的第一项并返回改该项

重排序方法

  • sort:默认情况按照升序排列数组
  • reserve:翻转数组

操作方法

  • splice:向数组中部插入项。删除-两个参数(起始位置和要删除的项数)、插入-三个参数(起始位置、0(要删除的项数)、要插入的项)、替换-三个参数(起始位置,要删除的项数,要插入的任意数量项数)

不改变原数组的方法有:

操作方法

  • concat:数组拼接,基于当前数组所有项创建一个新数组,添加到末尾
  • slice:数组截取,返回起始和结束位置之间的项但不包括结束位置的项

位置方法

  • indexOf:从数组的开头往后找,返回要查找项的位置。如果没找到则返回-1
  • lastIndexOf:从数组的末尾开始向前找

迭代方法

  • every:查询数组中的项是否全部满足条件,如果全部满足则返回true,否则false。类似于‘与或非’中的与
  • some:查询数组中的项是否满足条件,如果有一项满足条件则返回true。类似于‘与或非’中的或
  • filter:数组筛选,返回满足条件项组成的数组
  • forEach:没有返回值,类似于‘for’
  • map:返回函数调用结果组成的数组。如:数组中的每一项乘2

归并方法

  • reduce:从数组的第一项开始,逐个遍历到最后,返回一个最终返回的值。如:数组求和,数组累积。数组中找最大项
  • reduceRight:从数组的最后一项向前遍历
点击查看代码
<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Array</title>
</head>
<body>
    <h1>数组方法总结</h1>
    <h2>改变原数组的有:push pop unshift shift splice sort reverse </h2>
    <h2>不改变原数组的方法有 concat slice includes indecOf filter map reduce forEach join</h2>
    <script>
        let arr1=[1,2,3,4]
        // 数组的增删
        let arr0=arr1
        arr0.push(5)
        console.log(arr0) //[1,2,3,4,5]
        let arr_pop=arr0.pop()
        console.log(arr0) //[1,2,3,4]
        console.log(arr_pop) //5
        arr0.unshift(9)
        console.log(arr0) //[9,1,2,3,4]
        arr0.shift()
        console.log(arr0) //[1,2,3,4]
        arr0.splice(1,2)
        console.log(arr0) //[1,4]
        // 数组排序
        let arr2=[5,2,9,1,7]
        let arr_sort=arr2.sort()
        console.log(arr_sort) //[1,2,5,7,9]
        // 数组翻转
        let arr3=[4,8,6]
        let arr_res=arr3.reverse()
        console.log(arr_res) //[6,8,4]
        // splice删除
        let arr6=[1,2,3,4,5,6]
        let arr_s=arr6.splice(1,3)
        console.log(arr6) //[1,5,6]
        console.log(arr_s)//[2,3,4]
        // splice插入
        let arr_p=arr6.splice(2,0,9,"red")
        console.log(arr6)//[1, 5, 9, 'red', 6]
        console.log(arr_p)//[]
        // splice替换
        let arr_l=arr6.splice(1,2,"blue")
        console.log(arr6)//[1, 'blue', 'red', 6]
        console.log(arr_l)//[5,9]
        console.log('-----------------分割线------------------');
        // 数组拼接
        let arr4=[9,2,8]
        let arr5=[7,9,5,0]
        let arr_cat=arr5.concat(arr4)
        console.log(arr_cat) //[7, 9, 5, 0, 9, 2, 8]
        // 数组截取
        let arr_slice=arr5.slice(1,2)
        console.log(arr_slice) //[9]
        // 位置方法
        let arr_index=arr5.indexOf(9)
        console.log(arr_index)  //1
        let arr_index1=arr5.indexOf(3)
        console.log(arr_index1)  //-1
        // 迭代方法
        // every遍历数组直到找到不满足条件的元素或者遍历完数组
        // 检查数组中的元素是否均大于3
        let all=arr5.every(function(item){
            return item>3
        })
        console.log(all) //false
        // some遍历数组中是否大于3的元素
        let s=arr5.some(item=>item>3)
        console.log(s) //true
        // filter数组筛选
        // 返回一个所有值均大于3的数组
        let fil=arr4.filter(item=>item>3)
        console.log(fil)//[9,8]
        // forEach没有返回值,与for类似
        // 打印数组中的每一个元素
        arr4.forEach(item=>{
            console.log(item)
        })//9 2 8
        // map返回每次调用的结果组成的数组
        let double=arr4.map(function(currentValue){
            return currentValue*2
        })
        console.log(double)//[18,4,6]
        // 归并方法,数组求和-reduce
        let sum=arr4.reduce(function(prev,cur){
            return prev+cur
        })
        console.log(sum)//19
        // 累积
        let pruduct=arr4.reduce((prev,cur)=>prev*cur,1)
        console.log(pruduct) //144
        // 数组中的最大值
        let max=arr4.reduce((prev,cur)=>Math.max(prev,cur),arr4[0])
        console.log(max)//9
    </script>
</body>
</html>

标签:总结,arr,console,log,js,let,数组,arr0
From: https://www.cnblogs.com/Z2201210269/p/18287102

相关文章

  • 2024年6月后2周重要的大语言模型论文总结:LLM进展、微调、推理和对齐
    本文总结了2024年6月后两周发表的一些最重要的大语言模型论文。这些论文涵盖了塑造下一代语言模型的各种主题,从模型优化和缩放到推理、基准测试和增强性能。LLM进展与基准1、BigCodeBench:BenchmarkingCodeGenerationwithDiverseFunctionCallsandComplexInstructions......
  • 树状数组实现 查找逆序对
     题意:输入一个整数n。接下来输入一行n个整数 。1<=  <=n ,且每个数字只会出现一次题解:按每个数字的大小存入树状数组#include<bits/stdc++.h>usingnamespacestd;#definelllonglongconstintN=10000;intarr[N];lla[N];intn;llquery(intx){ll......
  • 前缀和数组 差分数组
    前缀和一维:通过空间换时间适用于需要频繁查询某一段区间和的场景。一维数组:一维前缀和中的每一项:,该前缀和中的每一项也就是数组中对应的前i项和。一维前缀和数组的构造:在输入原数组时同步构造前缀和数组可以改写为  for(inti=1;i<=n;i++){scanf("%d",&arr[i......
  • 第18节 指针与数组
    文章目录第18节指针与数组1.一维数组与指针2.指针与字符串第18节指针与数组1.一维数组与指针►C++程序员更偏爱使用指针来访问数组元素,这样做的好处是运行效率高、写法简洁。►1.一维数组的地址 ►数组由若干个元素组成,每个元素都有相应的地址,通过......
  • C-数组地址移动
    #include<stdio.h>intmain(){inta[6]={1,2,3,4,5,6};printf("a的地址%p\n",a);//a代表a[0]的地址也是a的首地址printf("a[0]的地址%p\n",&a[0]);//a[0]的地址return0;}在一维数组中a和a[0]的地址相同,a和&a[0]的都代表a[0]的地址,&a代表整个数组a......
  • 数组练习题(一)
    1.   (销售人员薪金范围)解决以下问题。一家公司以底薪加提成的方式付给销售人员工资。销售人员每周获得200美元的底薪,外加本周达到一定销售额的9%的提成。例如,一个销售人员一周的销售额是5000美元,就会得到200美元加上5000美元的9%,即总共650美元。请编写一个程序(利用一......
  • PTA题目集7-8的总结
    PTA题目集7-8的总结1.前言:2.设计与分析:3.踩坑心得:4.改进意见:5.总结1.前言:  PTA题目集7新增了互斥开关,窗帘,多并联电路和多串联电路。由于之前的输入信息中设备的引脚没有作用,所以我的正则表达式只用来提取设备的名字。而互斥开关有三个引脚,不同引脚的电压也不一样,所以这次......
  • 如何在JSP文件中接入高德地图实现地图展示和定位功能
    代码改进建议确保页面结构正确:检查页面的HTML结构,确保地图的容器<divid="container">正确放置。修改按钮功能:修正获取定位按钮的功能,确保它不会导致页面提交或其他问题。调整样式:调整地图容器的高度,确保地图有足够的空间显示。<!doctypehtml><%@pagecontentType=......
  • 深入理解数组及其操作
    前言数组(Array)是一种线性数据结构,用于存储相同类型的元素。它在编程中广泛使用,因其简单性和高效的随机访问特性而受欢迎。本文将详细介绍数组的概念、基本操作及其在C语言中的实现。数组的基本概念数组是一组有序的元素集合,每个元素通过数组名和一个索引进行访问。数组的索......
  • 2024.7 总结
    数据结构【CF380C】SerejaandBrackets题目描述本题中「合法括号串」的定义如下:空串是「合法括号串」。若\(s\)是「合法括号串」,则\((s)\)是「合法括号串」。若\(s,t\)是「合法括号串」,则\(st\)是「合法括号串」。有一个括号串\(s\)。\(m\)次操作。操作有......