首页 > 其他分享 >高级前端开发工程师必须要熟练掌握的数组知识

高级前端开发工程师必须要熟练掌握的数组知识

时间:2024-03-13 22:32:25浏览次数:23  
标签:console 删除 熟练掌握 元素 数组 var flowers 前端开发

昨天分享了对象相关的基础知识,今天我们来了解一下 JavaScript 中另外一个非常重要的数据类型 — 数组

1.  什么是数组

数组是一种数据结构,用于存储和组织一组相关的元素。

在编程中,数组提供了一个有效的方式来处理大量相似或相关的数据。

每个值在数组中都有一个唯一的索引,通常从 0 开始,逐渐增加。

2. 创建数组

其实很简单,你只需要在代码中使用一对方括号[] 就行了。


// 创建一个空数组
var myArray = [];

// 创建一个带有初始值的数组
var numbers = [1, 2, 3, 4, 5];

3. 增、删、查、改

  • 新增元素

unshift() 方法可以在数组开头增加元素。

push()  方法可以在数组末尾增加元素。

var flowers = ['rose', 'tulip', 'daisy'];
// 在开头添加元素
flowers.unshift('orchid');
// 在末尾添加元素
flowers.push('sunflower');
  • 删除元素

shift() 方法从数组开头开始删除元素。

pop()  方法来在数组末尾删除元素。

splice() 方法可以删除任意位置的元素。

var flowers = ['rose', 'tulip', 'daisy'];
// 从开头删除元素
flowers.shift();
// 从末尾删除元素
flowers.pop();
// 从索引为1的位置开始删除2个元素
flowers.splice(1, 2);

小技巧:

filter()  方法创建一个新数组,其中包含通过某个函数测试的所有元素,可以利用这个特性来删除特定条件下的元素,使用起来更灵活一些。

var myArray = [1, 2, 3, 4, 5];

// 删除值为3的元素
myArray = myArray.filter(function(element) {
    return element !== 3;
});

console.log(myArray); // 输出: [1, 2, 4, 5]
  • 访问元素

数组里的每个元素都有一个编号,我们称之为“索引”。需要注意的是,索引是从 0 开始的哦~

var fruits = ['apple', 'banana', 'orange'];

// 访问数组中的第一个元素
console.log(fruits[0]); // 输出:apple
  • 修改元素

想改变数组中的某个元素?没问题,使用索引就可以搞定!

var fruits = ['apple', 'banana', 'orange'];

// 修改数组中的元素
fruits[0] = 'watermelon';

4. 其他常用操作

  • 获取数组长度

可以用length 属性来知道一个数组里有多少个元素。

var colors = ['red', 'green', 'blue'];

// 获取数组的长度
console.log(colors.length); // 输出:3
  • 循环访问元素

希望逐个访问数组中的元素,可以考虑使用 for 循环 或者 forEach()  方法来实现。

var numbers = [1, 2, 3, 4, 5];

// 使用for循环迭代数组
for (var i = 0; i < numbers.length; i++) {
    console.log(numbers[i]);
}

// 使用forEach方法迭代数组
numbers.forEach(function(number) {
    console.log(number);
});

5. 总结

数组是一个非常强大的工具,可以帮助我们更方便地组织和操作数据~

希望你可以在实际编程中多多尝试,通过动手实践来巩固所学知识~

标签:console,删除,熟练掌握,元素,数组,var,flowers,前端开发
From: https://blog.csdn.net/qq_30094821/article/details/136693407

相关文章

  • Java 数组转 JSON数组
    场景说明最近在开发一个推送数据到MQ的服务,下游要求将数组转换为JSON形式后进行推送引入依赖<dependency><groupId>cn.hutool</groupId><artifactId>hutool-all</artifactId><version>5.7.5</version&......
  • 《牛客》-D小红数组操作 (链表)
    思路:采用链表进行动态维护即可我们采用map集合来模拟链表结构(用结构体也是可以的)就是输出需要一点点思考.ACcode:#include<bits/stdc++.h>usingnamespacestd;#defineintlonglongmap<int,int>l,r;intq,x,y,op,k;voidsolve(){ cin>>q; while(q--){ cin>>o......
  • 前后端联调-前端返回包含数组导致后端无法接收~解决
    问题:.HttpMessageNotReadableException:JSONparseerror:Cannotdeserializevalueoftype`java.lang.String`fromArrayvalue(token`JsonToken.START_ARRAY`);nestedexceptioniscom.fasterxml.jackson.databind.exc.MismatchedInputException:Cannotdeseriali......
  • 探索数组的奥秘:数据结构的重要组成部分
    一.数组的定义1.概念数组是一种数据结构,用于存储相同类型的元素集合。这些元素按照索引或者下标访问,索引通常从0开始递增。2.数组的声明规则a.int[]array=newint[5];b.int[]array={1,2,3,4,5};c.int[]array =newint[]{1,2,3,4,5};数据类型[]数组名=初值......
  • 【算法】【线性表】【数组】从中序与后序遍历序列构造二叉树
    1 题目给定两个整数数组 inorder 和 postorder ,其中 inorder 是二叉树的中序遍历, postorder 是同一棵树的后序遍历,请你构造并返回这颗 二叉树 。示例1:输入:inorder=[9,3,15,20,7],postorder=[9,15,7,20,3]输出:[3,9,20,null,null,15,7]示例2:输入:inor......
  • 209. 长度最小的子数组c
    intminSubArrayLen(inttarget,int*nums,intnumsSize){intsum=nums[0],head=0,tail=0,min=INT_MAX;intt=0;for(inti=0;i<numsSize;i++){t+=nums[i];}if(t<target)return0;while(head<=tail&&tail<nums......
  • 关于js数组方法sort()负数排序的陷阱
    今天在刷力扣题的时候遇到数组排序的问题,想着图个方便就使用了arr.sort(),刚开始用正数进行测试用例的时候没有出错,问题:在使用负数的测试用例时,预期目标是 [-10,-2,-1...1,2,3],结果出现了 [-1,-2,-10......1,2,3]这样的结果解析:在网上找了一下发现,sort()这个方法:默认......
  • 1.6数组
    一.序言数组是一组类型相同类型元素的集合,数组的定长的(数组的长度一旦被定义,长度不可改变)。数组在内存当中是一块连续的空间,可以保存相同类型的多个元素。二.一维数组2.1.数组的创建intarr1[10];    //整形类型数组chararr2[10];    //字符类型的数组......
  • 二维树状数组
    二维树状数组模板单点修改,子矩阵查询暴力的把一维拓展到二维,直接然后按照一维的方法搞就OK,参考代码:voidinsert(intx,inty,intz){for(inti=x;i<=n;i+=lowbit(i))for(intj=y;j<=m;j+=lowbit(j))d[i][j]+=z;}intgetsum(intx,inty){intsum=0;for(......
  • c语言函数传递数组名
    c语言自定义函数中可以在形参中可以使用数组名作为传递代码示例如下#include<stdio.h>floatave(floata[]){ inti; floatb; floatsum=a[0]; for(i=1;i<10;++i) sum=sum+a[i]; b=sum/10; returnb;}intmain(){ floatnum[10],average; inti; for(i=0;i......