JS中数组对象使用

news2024/11/19 8:33:26

文章目录

  • 一、创建数组对象
  • 二、数组翻转
    • 1.检测数组
    • 2.翻转数组:
  • 三、添加数组元素
    • 1.push方法
    • 2.unshift方法
  • 四、删除数组元素
    • 1.pop方法
    • 2.shift方法
  • 🤘案例1
  • 五、数组排序
  • 六、数组索引方法
    • 1.indexof(数组元素)
    • 2.lastIndexOf方法
  • 🤟案例2
  • 七、数组转化为字符串
    • 1.toString方法
    • join方法
  • 🙊🙉 其他


相关函数详细用法可以在此处查询
https://developer.mozilla.org/zh-CN/

一、创建数组对象

        //1.利用数组字面量
        var arr=[1,2,3];
        console.log(arr[0]);

        //2.利用new Array()
        var arr1=new Array();   //创建一个空数组
        var arr2=new Array(2);
        var arr3=new Array(2,3);

二、数组翻转

1.检测数组

首先检测是否为数组

方法1:

        var arr=[];
        var obj={};
        console.log(arr instanceof Array);
        console.log(obj instanceof Array);

可知结果如下:

在这里插入图片描述

方法2:

      var arr = [];
      console.log(Array.isArray(arr));

isArray优先级更高,为H5新增方法,ie9以上支持

在这里插入图片描述

2.翻转数组:

        function reverse(arr) {
          if (arr instanceof Array) {
            var newArr = [];
            for (var i = arr.length - 1; i >= 0; i--) {
              newArr[newArr.length] = arr[i];
            }
            return newArr;
          } else {
            return "error";
          }
        }

三、添加数组元素

1.push方法

        //添加元素方法
        var arr=[1,2,3];
        arr.push(4,'5');
        console.log(arr);

2.unshift方法

在数组开头,添加一个或多个元素

arr.unshift('blue','green');

四、删除数组元素

1.pop方法

      //删除数组最后一个元素
      var arr = new Array(1, 2, 3, 4, 5);
      console.log(arr.pop());
      console.log(arr);

结果如下:

在这里插入图片描述

2.shift方法

    //删除数组第一个元素
    var arr = new Array(1, 2, 3, 4, 5);
    console.log(arr.shift());
    console.log(arr);

🤘案例1

把数组中超过200的删除,剩余的放到新数组中

      var arr = [23, 555, 6556, 200, 123, 4545, 333, 987];
      var newArr = [];
      for (var i = 0; i < arr.length; i++) {
        if (arr[i] <= 200) {
          // newArr[newArr.length] = arr[i];
          //这也是一种数组遍历,数组复制的方式
          newArr.push(arr[i]);
        }
      }
      console.log(newArr);

五、数组排序

      //数组排序
      //按照升序排序
      var arr1 = [13, 4, 786, 3, 0];
      arr1.sort(function (a, b) {
        return a - b;
      });
      console.log(arr1);

在这里插入图片描述

改为b-a可以转化为降序排列

六、数组索引方法

1.indexof(数组元素)

作用:返回数组元素的索引号

      var arr = new Array("red", "grey", "blue", "blue", "pink");
      console.log(arr.indexOf("blue"));
      console.log(arr.indexOf("yellow"));

在这里插入图片描述

若有重复值,则返回第一个的索引,
若不存在值,则返回-1。

2.lastIndexOf方法

作用:从后往前查找

      var arr = new Array("red", "grey", "blue", "blue", "pink");

      console.log(arr.lastIndexOf("blue"));

在这里插入图片描述

若查找不到仍返回-1

🤟案例2

把旧数组里面不重复的元素选取出来梵高新数组中,重复的元素只保留一个

      function unique(arr) {
        var newArr = [];
        for (var i = 0; i < arr.length; i++) {
          if (newArr.indexOf(arr[i]) == -1) {   //此处使用==和===都可以
            newArr.push(arr[i]);
          }
        }
        return newArr;
      }
      var demo = unique(["s", "a", "d", "t", "a", "z", "w", "g", "s"]);
      console.log(demo);
      var demo1 = unique(["blue", "green", "blue"]);
      console.log(demo1);

七、数组转化为字符串

1.toString方法

      var arr = [1, 2, 3];
      console.log(arr.toString());

join方法

join功能更强大,里面可以跟分隔符

      var arr = ["wasd", "uio", "qwert"];
      console.log(arr.join());
      console.log(arr.join("-"));

在这里插入图片描述

🙊🙉 其他

以下三个方法都可以进行了解

在这里插入图片描述

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/124937.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

数字验证学习笔记——SystemVerilog芯片验证16 ——约束控制块随机函数

一、约束块控制 一个类可以包含多个约束块。可以把不同约束块用于不同测试。一般情况下&#xff0c;各个约束块之间的约束内容是互相协调不违背的&#xff0c;因此通过随机函数产生随机数时可以找到合适的解 如果子类继承父类&#xff0c;也继承了父类的约束&#xff0c;这个时…

基于蒙特卡诺的电动汽车充电负荷曲线研究(充电开始时间,充电电量,充电功率)(Matlab代码实现)

&#x1f4a5;&#x1f4a5;&#x1f49e;&#x1f49e;欢迎来到本博客❤️❤️&#x1f4a5;&#x1f4a5; &#x1f3c6;博主优势&#xff1a;&#x1f31e;&#x1f31e;&#x1f31e;博客内容尽量做到思维缜密&#xff0c;逻辑清晰&#xff0c;为了方便读者。 ⛳️座右铭&a…

【C++】 STL-vector模拟实现

文章目录vector源码的内容:成员变量默认构造函数构造函数1-无参构造构造函数2 -使用n个相同的值构造构造函数3-使用迭代器区间构造拷贝构造函数**传统写法**现代写法赋值重载函数opeartor传统写法现代写法析构函数迭代器begin & end任意类型vector容器迭代器通用遍历方式:容…

paddleOCRv3之四: rec识别部分用 tensorRT(C++)部署

文章目录1. 简介&#xff1a;速度测试2. paddle 模型转onnx3. onnx转为tensorRT的engine模型4. tensorRT在vs2017中的配置5. 源码1. 简介&#xff1a; tensorRT是nvdia GPU模型部署的一个框架&#xff0c;似乎只是部分开源&#xff0c;github地址.大多数时候用这个框架去部署模…

十九、Docker容器监控之CAdvisor+InfluxDB+Granfana

1、概述 Docker自带查询容器状态的命令&#xff1a;docker stats&#xff0c;可以看到容器的ID\名称、占用CPU、内存等信息 但是我们不能时时刻刻的盯着这个命令&#xff0c;并且这个都是实时数据不能留痕&#xff0c;如果这个时候某一个容器挂了&#xff0c;我们想查看下当时…

webpack性能优化

splitChunks webpack splitChunks minSize: 只有到目标文件超过这个minSize时才会分包。cacheGroups: 可以对某个第三方包进行单独分离出来 例如&#xff1a; splitChunks: {minSize: 300 * 1024&#xff0c;chunks: all,name: aaa,cacheGroups: {jquery: {name: jquery,test…

SCADA平台在风电场测量的应用,实现风电场的高效管理

一、应用背景 随着煤碳、石油等能源的逐渐枯竭&#xff0c;人类越来越重视可再生能源的利用。风能作为一种清洁的可再生能源日益受到世界各国的重视。中国风能储量大&#xff0c;分布面广&#xff0c;仅陆地上的风能储量就约2.53亿千瓦。我国的风电发展起步较晚&#xff0c;但…

大数据教学实训沙盘介绍

沙盘的作用主要有3个&#xff1a; 1、采集真实数据&#xff0c;解决教学中缺少真实数据的困扰&#xff1b; 2、形成从数据采集、预处理、挖掘建模、模型部署的业务闭环&#xff0c;可以把构建模型发布到沙盘系统上&#xff0c;根据模型产生真实的反馈不断的修正模型精度&#x…

DoIP协议从入门到精通系列——车辆声明

上篇文章对DoIP中物理连接做了说明和描述,介绍了以太网应用到车载网络中重要的两个组织: IEEE;OPEN联盟。本文主要对物理连接后,车辆进行自属信息声明过程做一个完整描述。 一、基础信息 DoIP协议标准由一个或多个DoIP实体实施,具体取决于车辆的网络架构。如下图是车辆网…

SuperMap iServer在不同系统中设置开机自启动--Windows篇

目录前言1.删除已有的 SuperMap iServer 系统服务2.注册 SuperMap iServer 系统服务3.设置 SuperMap iServer 系统服务开机自启动实例作者&#xff1a;kxj 前言 在成功部署SuperMap iServer之后&#xff0c;每次重启电脑都需要手动去启动iServer&#xff0c;如何能让iServer在…

HTML5 Web Worker(多线程处理)

文章目录HTML5 Web Worker(多线程处理)概述简单使用处理复杂数据HTML5 Web Worker(多线程处理) 概述 JavaScript的执行环境是单线程的&#xff0c;也就是一次只能执行一个任务。如果遇到多个任务时&#xff0c;只能排队依次执行。 在HTML5中&#xff0c;可以使用Web Worker创…

小程序集成Three.js,使用npm安装gsap动画库

0.视频演示 three.js集成gsap创建物体动画gsap作为简单易用的补间动画库&#xff0c;获得开发者一致好评。 在小程序中&#xff0c;我们集成了Three.js第三方库&#xff0c;可以创建和加载模型及场景&#xff0c;但是做动画还是需要第三方库的支持。 下面详细说明如何在小程序…

Java SPI机制详解

一、什么是SPI SPI全称Service Provider Interface&#xff0c;是Java提供的一种服务发现机制。实现服务接口和服务实现的解耦。 Java SPI 实际上是“基于接口的编程&#xff0b;策略模式&#xff0b;配置文件”组合实现的动态加载机制&#xff0c;实现不修改任何代码的情况下…

不错的一个麦肯锡信任公式

1&#xff09;可信度&#xff1a;这人是不是专家。 你是否让他人可以相信你这个人。这取决于你解决问题的能力、经验、专业知识、资源等等&#xff1b;这个人的专业能力是否真有别人说的那么出色&#xff0c;是否能够胜任这份工作呢&#xff1f;过往的履历中是否做过足以让我值…

函数指针到底需不需要解引用?类成员函数呢?

1、 普通函数指针 C函数指针有两点比较令人疑惑的做法&#xff1a; 函数名作为实参时&#xff0c;到底要不要取地址&#xff1f;通过函数指针调用函数时&#xff0c;到底要不要解引用&#xff1f; int add(int a, int b) {cout << "common function: " <…

ubuntu18安装、测试YOLOV3记录

官方教程&#xff1a; YOLO: Real-Time Object Detection 一、使用预训练模型进行检测 1、安装Darknet: git clone https://github.com/pjreddie/darknet cd darknet make 2、下载预训练权重https://pjreddie.com/media/files/yolov3.weights&#xff08;打开链接或wget&…

VSCode无密码连接远程服务器,并能debug python代码

1.官网下载VScode 官网 2.打开VScode&#xff0c;在扩展中搜索下载远程连接插件Remote-SSH 下载完毕会在侧边栏产生“远程资源管理器”图标①&#xff0c;打开远程资源管理器&#xff0c;点击右上角设置进入配置界面&#xff0c;并按照②添加远程服务器账号&#xff0c;输入…

Charles -证书过期失效处理方法

当出现环境配置正常但却无法抓包的时候&#xff0c;可能是因为证书失效了&#xff0c;这种情况移除旧证书&#xff0c;安装新的证书即可。 一、判断是否证书过期 iOS手机&#xff1a; 进入&#xff1a;设置 > 通用 > VPN与设备管理 > Charles Proxy CA... > 更多…

45. 含并行连结的网络(GoogLeNet)代码实现

1. Inception块 import torch from torch import nn from torch.nn import functional as F from d2l import torch as d2lclass Inception(nn.Module):# c1--c4是每条路径的输出通道数,c2,c3,c4是一个tuple元组def __init__(self, in_channels, c1, c2, c3, c4, **kwargs):su…